[node.js] 앱을 시작할 때 npm start와 node app.js의 차이점은 무엇입니까?
명령을 사용하여 응용 프로그램을 설치했습니다 express new 'filename'
. 방금 다음을 사용하여 응용 프로그램을 시작할 수 있다는 것을 배웠습니다.
npm start
지금까지 나는 사용했다 :
node app.js
내 서버를 시작합니다. 둘 사이의 차이점이 무엇인지 아는 사람이 있습니까? 감사.
답변
로부터 man 페이지 , 시작 NPM :
패키지의 “시작”스크립트 (제공된 경우)를 실행합니다. 버전을 지정하지 않으면 “활성”버전이 시작됩니다.
분명히 그 설명은 완전히 도움이되지 않으며 그것이 전부입니다. 적어도 socket.io보다 더 문서화되어 있습니다.
어쨌든, 실제로 일어나는 일은 npm이 package.json 파일 에서 보이는 것입니다.
“scripts”: { “start”: “coffee server.coffee”}
그렇게 할 것입니다. npm에서 시작 스크립트를 찾을 수없는 경우 기본값은 다음과 같습니다.
노드 server.js
답변
문서가 업데이트되었습니다 . 내 대답은 받아 들인 대답과 실질적인 변화가 있습니다. 문서가 최신 상태임을 반영하고 싶었고 수락 된 대답에는 깨진 링크가 몇 개 있습니다.
또한 수락 된 답변이 “기본값”으로 표시되는 시점을 이해하지 못했습니다 node server.js
. 설명서에서 기본 동작을 설명한다고 생각합니다.
npm-start
패키지 시작
개요
npm start [-- <args>]
기술
패키지의 ”
start
“속성의 ”scripts
“객체에 지정된 임의의 명령을 실행 합니다 .start
”scripts
“개체 에 ” “속성이 지정되어 있지 않으면 실행node server.js
됩니다.
요약하면 running npm start
은 다음 두 가지 중 하나를 수행 할 수 있습니다.
npm start {command_name}
: 임의의 명령을 실행합니다 (예 :start
package.jsonscripts
객체 의 속성 에 해당 명령이 지정된 경우 ).npm start
: 그렇지 않으면start
속성이 없거나command_name
전달 되지 않은 경우 : Runnode server.js
, ( 예를 들어 OP에없는 , OP가 실행 하는 등 적절 하지 않을 수 있음 )server.js
node
app.js
- 나는 두 가지 항목 만 나열한다고 말했지만 다른 가능성 (예 : 오류 사례)입니다. 예를 들어,
package.json
실행중인 디렉토리에 없으면npm start
오류가 표시 될 수 있습니다.npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'