실행할 script1
프로젝트 디렉토리에서 명령을 실행할 수 있기를 원합니다 node script1.js
.
script1.js
같은 디렉토리에있는 파일입니다. 이 명령은 프로젝트 디렉토리와 관련이 있어야합니다. 즉, 다른 사람에게 프로젝트 폴더를 보내면 동일한 명령을 실행할 수 있습니다.
지금까지 추가를 시도했습니다.
"scripts": {
"script1": "node script1.js"
}
내 package.json 파일에 있지만 실행하려고 script1
하면 다음과 같은 출력이 나타납니다.
zsh: command not found: script1
위에서 언급 한 스크립트를 프로젝트 폴더에 추가하는 데 필요한 단계를 아는 사람이 있습니까?
* 참고 :이 명령은 bash 프로파일에 추가 할 수 없습니다 (시스템 별 명령 일 수 없음)
설명이 필요하면 알려주십시오.
답변
맞춤 스크립트
npm run-script <custom_script_name>
또는
npm run <custom_script_name>
귀하의 예에서는 npm run-script script1
또는 을 실행하려고합니다 npm run script1
.
참조 https://docs.npmjs.com/cli/run-script를
수명주기 스크립트
또한 노드를 사용하면 after after npm install
run 과 같은 특정 수명주기 이벤트에 대해 사용자 정의 스크립트를 실행할 수 있습니다 . 이것들은 여기 에서 찾을 수 있습니다 .
예를 들면 다음과 같습니다.
"scripts": {
"postinstall": "electron-rebuild",
},
이것은 명령 electron-rebuild
후에 npm install
실행됩니다.
답변
다음을 만들었고 시스템에서 작동하고 있습니다. 이것을 시도하십시오 :
package.json :
{
"name": "test app",
"version": "1.0.0",
"scripts": {
"start": "node script1.js"
}
}
script1.js :
console.log('testing')
명령 행에서 다음 명령을 실행하십시오.
npm start
추가 사용 사례
내 package.json 파일에는 일반적으로 다음 스크립트가 포함되어있어 내 파일에서 typescript, sass 컴파일 및 서버 실행을 볼 수 있습니다.
"scripts": {
"start": "concurrently \"sass --watch ./style/sass:./style/css\" \"npm run tsc:w\" \"npm run lite\" ",
"tsc": "tsc",
"tsc:w": "tsc -w",
"lite": "lite-server",
"typings": "typings",
"postinstall": "typings install"
}
답변
단계는 다음과 같습니다.
-
package.json에서 다음을 추가하십시오.
"bin":{ "script1": "bin/script1.js" }
-
만들기
bin
프로젝트 디렉토리에 폴더와 파일을 추가runScript1.js
코드와 함께 :#! /usr/bin/env node var shell = require("shelljs"); shell.exec("node step1script.js");
-
npm install shelljs
터미널에서 실행 -
npm link
터미널에서 실행 -
터미널에서 이제 실행할 수
script1
있습니다.node script1.js
참조 : http://blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool-with-npm
답변
스크립트에서 단일 명령으로 2 개의 명령을 실행하려고합니다.
"scripts":{
"start":"any command",
"singleCommandToRunTwoCommand":"some command here && npm start"
}
이제 터미널로 가서 거기서 실행하십시오 npm run singleCommandToRunTwoCommand
.
답변
예:
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"build_c": "ng build --prod && del \"../../server/front-end/*.*\" /s /q & xcopy /s dist \"../../server/front-end\"",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
보시다시피, “build_c”스크립트는 앵귤러 애플리케이션을 빌드하고 디렉토리에서 모든 오래된 파일을 삭제 한 다음 결과 빌드 파일을 복사합니다.