새 모듈의 경우 npm build
gulp / Grunt / 기타 특수 빌드 도구없이 사용하려고 합니다.
"scripts": {
"build": "node build.js"
},
내 build.js는 단순히
console.log('Hello')
그러나 달리기
npm build
상태가 0 인 상태로 아무 것도 인쇄하지 않고 종료합니다.
달리는:
npm install
또한 모든 정상적인 작업을 수행하지만 build.js도 실행하지 않습니다.
npm에서 빌드 스크립트를 실행하려면 어떻게해야합니까?
편집 : 간단한 bash 명령조차도 작동하지 않는 것 같습니다.
"scripts": {
"build": "touch TESTFILE"
},
그 이름으로 파일을 만들지 않습니다.
답변
불행히도 docs에서 설명한대로 npm build
이미 내부 명령입니다 .
이것은 npm link 및 npm install에 의해 호출되는 배관 명령입니다.
일반적으로 직접 호출해서는 안됩니다.
해당 명령이 이미 있기 때문에 항상 "build": "node build.js"
.
자체 스크립트를 실행하는 정규화 된 방법은 with run-script
또는 its alias입니다run
.
$ npm run build
npm start
다른 방법은 짧은 방법이지만 기존 npm 명령이 그림자처럼 그림자를 표시하지 않는 경우에만 옵션 npm build
입니다.
후손을 위해 (다른 사람들이 언급했듯이) npm build
npm은 node-gyp 사용하여 네이티브 C / C ++ 노드 애드온을 빌드하는 데 사용됩니다 . 일반적으로 자동으로 발생하기 때문에 잘 문서화되어 있지 않지만 관심이 있다면 소스 코드는 여기에 있습니다 .
답변
“build”라는 스크립트 package.json
는 특별한 것이 아닙니다. 그것을 실행하는 유일한 방법은 다음을 호출하는 것입니다.
npm run-script build
npm 에 의해 자동으로 호출되는 이름이 있지만 “build”는 그 중 하나가 아닙니다. 전체 목록은 다음과 같습니다.
prepublish
,publish
,postpublish
preinstall
,install
,postinstall
preuninstall
,uninstall
,postuninstall
preversion
,version
,postversion
pretest
,test
,posttest
prestop
,stop
,poststop
prestart
,start
,poststart
prerestart
,restart
,postrestart
preCUSTOM
그리고postCUSTOM
커스텀 스크립트 이름.