Blue Chicken - The Legend Of Zelda
본문 바로가기

개인공부

npm start, npm run serve, npm ren dev의 차이점

`npm start`, `npm run serve`, `npm run dev`는 모두 Node.js 프로젝트에서 사용되는 스크립트 실행 명령어입니다. 이 명령어들은 `package.json` 파일 내의 `scripts` 섹션에 정의된 스크립트를 실행합니다. 각 명령어의 동작은 해당 프로젝트의 `package.json`에 어떻게 정의되어 있는지에 따라 달라집니다.

1. npm start
   - `npm start`는 Node.js 프로젝트에서 가장 일반적으로 사용되는 스크립트 실행 명령어 중 하나
   - 이 명령은 `package.json` 파일의 `scripts` 객체 내에 정의된 `start` 스크립트를 실행
   - 일반적으로, 애플리케이션을 시작할 때 사용되며, 종종 서버를 시작하는 스크립트로 설정됩니다.
   - 예: `"start": "node app.js"`는 `app.js` 파일을 메인 애플리케이션 파일로 사용하여 Node.js 애플리케이션을 시작

Express 서버를 시작하거나 React, Angular 앱을 시작하는 데 사용

   - start 스크립트는 사용자가 직접 정의하지 않아도, 많은 프레임워크와 툴에서 기본값이 설정되어 있습니다.

"scripts": {
  "start": "node app.js"
}



2. npm run serve
   - `npm run serve`는 주로 프론트엔드 개발 서버를 시작하는 데 사용되는 커스텀 스크립트 명령어입니다.
   - Vue.js, React 등의 프로젝트에서 개발 서버를 구동할 때 사용됩니다.
   - 예: Vue.js에서는 `"serve": "vue-cli-service serve"`가 일반적으로 개발 서버를 시작하는 데 사용됩니다. 이 명령은 `vue-cli-service`를 사용하여 로컬 개발 서버를 구동합니다.

   - 핫 리로드( 개발 중 소스코드 변경 시 페이지 전체가 아닌 변경된 부분만을 업데이트하여 반영하는 기능 ), 코드 컴파일 등의 기능을 제공

"scripts": {
  "serve": "vue-cli-service serve"
}



3. npm run dev
   - `npm run dev`는 개발 모드에서 애플리케이션을 시작하는 데 사용되는 또 다른 커스텀 스크립트 명령어입니다.
   - 이 명령어는 주로 개발 중인 애플리케이션을 실시간으로 갱신 (소스 코드의 변경 사항을 실시간으로 반영) 하고 테스트하는 데 사용됩니다.
   - 예: Node.js 백엔드 애플리케이션에서는 `"dev": "nodemon server.js"`처럼 사용될 수 있으며, 이 경우 `nodemon`은 코드 변경 사항을 감지하고 서버를 자동으로 재시작합니다.

   - 주로 Node.js, Next.js, Nuxt.js, Vite 등의 환경에서 사용됩니다.

"scripts": {
  "dev": "next dev" // Next.js 예시
}


결론적으로, 이러한 명령어들은 각 프로젝트의 `package.json` 파일에 어떻게 정의되어 있느냐에 따라 다른 작업을 수행합니다. 프로젝트를 처음 다루거나, 기존 프로젝트를 이어받았을 때는 해당 파일을 확인하여 각 스크립트가 어떤 작업을 수행하는지 파악하는 것이 중요합니다.