vendure client / vendure react client / reactjs client / nextjs client / 왜 port 가 3000 인가 / default port 3000 /
vercel/commerce 에서 turbo run dev
turbo run dev
를 하면 /packages 안의 package.json 의 dev script 를 실행해준다.
/packages/vendure/package.json
를 확인하면,taskr
을 수행한다./site/package.json
를 확인하면,next dev
를 한다.
/packages/vendure/package.json
{
"name": "@vercel/commerce-vendure",
...
"scripts": {
"release": "taskr release",
"build": "taskr build",
"dev": "taskr",
...
}
...
}
/packages/vendure/taskfile.js
를 보면 taskr
을 수행하면 default export 인 dev
가 실행된다.
- lukeed/taskr: A fast, concurrency-focused task automation tool.
- taskr/packages/taskr
- commerce/packages/taskr-swc at main · vercel/commerce · GitHub : 이건 swc-project/swc 를 사용하기 위한 wrapper 같은 package 다. swc 는 typescript/javascript compiler 인데, rust 로 작성됐다.
export async function build(task, opts) {
await task
.source('src/**/*.+(ts|tsx|js)')
.swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
.target('dist')
.source('src/**/*.+(cjs|json)')
.target('dist')
task.$.log('Compiled src files')
}
export async function release(task) {
await task.clear('dist').start('build')
}
export default async function dev(task) {
const opts = { dev: true }
await task.clear('dist')
await task.start('build', opts)
await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
}
watch 실행
watch 는 file 이 변경될 때 알아서, build 해준다. 위 code 를 보면 자체적으로 만든 taskr-watch 를 사용하는 듯 하다.
/site/package.json
next.js 의 next dev
를 이용하는 듯 하다.
다음 code 들을 보면, port 3000 이 사용됨을 확인할 수 있다.
- /site/node_modules/next/dist/build/utils.js
- /site/node_modules/next/dist/esm/build/utils.js
- /site/node_modules/next/dist/esm/server/lib/utils.js
- /site/node_modules/next/dist/server/lib/utils.js
// /site/package.json
{
"name": "next-commerce",
...
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
},
...
"devDependencies": {
"@next/bundle-analyzer": "^12.0.8",
...
}
}
댓글 없음:
댓글 쓰기