새 모듈의 경우 npm buildgulp / 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 buildnpm은 node-gyp 사용하여 네이티브 C / C ++ 노드 애드온을 빌드하는 데 사용됩니다 . 일반적으로 자동으로 발생하기 때문에 잘 문서화되어 있지 않지만 관심이 있다면 소스 코드는 여기에 있습니다 .
답변
“build”라는 스크립트 package.json는 특별한 것이 아닙니다. 그것을 실행하는 유일한 방법은 다음을 호출하는 것입니다.
npm run-script build
npm 에 의해 자동으로 호출되는 이름이 있지만 “build”는 그 중 하나가 아닙니다. 전체 목록은 다음과 같습니다.
prepublish,publish,postpublishpreinstall,install,postinstallpreuninstall,uninstall,postuninstallpreversion,version,postversionpretest,test,posttestprestop,stop,poststopprestart,start,poststartprerestart,restart,postrestartpreCUSTOM그리고postCUSTOM커스텀 스크립트 이름.
