npm 으로 package.json 에 있는 scripts 를 실행 할 수 있다.
{
"scripts": {
"start": "nodemon server.js",
"test": "DOTENV_CONFIG_PATH=.env.test jest --setupFiles=dotenv/config",
"test:coverage": "DOTENV_CONFIG_PATH=.env.test jest --coverage --setupFiles=dotenv/config",
"test:watch": "jest --watch"
},
}
위와 같은 package.json 이 있는 경우
sciprts 에 있는 각각의 sciprt 를 실행 하기 위해서는 다음과 같이 하면 된다.
npm run start
npm run test
npm run test:coverage
...
하지만 start, test, restart, stop 과 같은 경우 run command 가 없어도 실행 할 수 있다.
npm start, npm test npm restart, npm stop
추가적으로 npm run test 할때 jest 에서 watch 옵션을 주고 실행 하고 싶은 경우에
npm run test -- --watch 와 같이 npm run 할때의 argument 로 -- 와 그 이후에 실제 스크립트 실행시 전달하고 싶은 argument 를 입력하면 된다.
수동으로 편집기를 열어서 package.json 에 스크립트를 추가해도 되지만
npm set-script test:watch "jest --watch"
위와 같은 명령문으로 package.json 에 scripts 를 추가 할 수 있다.
npm install package --save
는 package.json 에 dependencies 에 추가 되고 --save 옵션이 없어도 암묵적으로 dependencies 에 추가 되도록 설정이 되어있다.
npm install package --save-dev
는 package.json 의 devDependencies 에 추가 된다.
이렇게 해야하는 이유는 개발에 필요한 의존성과 실제 어플리케이션 운용에 필요한 의존성을 나누기 위함이라고 한다.
https://stackoverflow.com/questions/51358235/difference-between-npm-start-and-npm-run-start