[컴][웹] vercel/commerce 에서 turbo run dev

 

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 가 실행된다.

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", 
    ...
  }
}

See Also

  1. 쿠…sal: [컴][웹] next.js commerce + vendure 서버 실행

댓글 없음:

댓글 쓰기