[javascript] NPM 스크립트를 순차적으로 실행

내가 가지고 있다고 가정 해 봅시다

"scripts": {
    "pre-build": "echo \"Welcome\" && exit 1",
    "build_logic": "start cmd.exe @cmd /k \"yo esri-appbuilder-js:widget && exit 1\"",
    "post_build":  "start C:\\WebAppBuilderForArcGIS\\startupShortcut",
    "exit" : "start cmd.exe @cmd /k \"echo \"goodbye\" && exit 1\""
  },

이러한 스크립트를 모두 순차적으로 시작하기 위해 실행할 수있는 NPM 명령 사전 / 사후 수정을 사용하면 순차적으로 시작되지만 실행하기 전에 부모 스크립트가 끝날 때까지 기다리지 않습니다. 유일한 해결책은 다음과 같다고 가정합니다 : async.series 도우미 함수에서 쉘 명령을 실행할 때 Gulp 작업을 순차적으로 실행하려면 어떻게합니까? ? Gulp 로이 작업을 수행 할 수 있다는 것을 알고 있지만 NPM을 사용하여 기능을 탐색하고 싶습니다. 도움을 주셔서 감사합니다!



답변

npm run을 통해 이러한 스크립트를 호출하고 이중 앰퍼샌드로 연결하십시오 &&.

npm run pre-build && npm run build_logic && npm run post_build && npm run exit

설명:

  • &&순차적 실행 에는 (더블 앰퍼샌드)를 사용하십시오 .
  • &병렬 실행 에는 (단일 앰퍼샌드)를 사용하십시오 .

답변

Mobiletainment의 위대한 @ 다음 대답 , 당신은 또한 사용할 수 있습니다 -NPM-실행 모든 명령이 훨씬 짧은 훨씬 더 읽기 쉽게 만들 수 있습니다. 귀하의 경우 :

"scripts": {
    ...
    "build": "run-s pre-build build_logic post_build exit"
}

run-snpm-run-all제공된 모든 npm 스크립트를 순차적으로 실행 하는 바로 가기를 제공하므로 -s( run-s는 더 짧은 버전입니다 npm-run-all -s).


답변

다른 스크립트로 문자열을 묶을 수 있습니다. "start": "pre-build && build_logic && post_build && exit"


답변

당신은 당신의 스크립트를 앞에 수 prepost그래서 그들은 자동으로 실행됩니다 :

"scripts": {
  "prebuild": "echo \"Welcome\" && exit 1",
  "build": "start cmd.exe @cmd /k \"yo esri-appbuilder-js:widget && exit 1\"",
  "postbuild":  "start C:\\WebAppBuilderForArcGIS\\startupShortcut",
  "exit" : "start cmd.exe @cmd /k \"echo \"goodbye\" && exit 1\""
}

그런 다음 실행 npm run build


답변

당신은 시도 할 수 있습니다:


"scripts": {
  "clean-dist": "rm -f ./dist/*.js && rm -f ./dist/*.map",
  "build": "npm run clean-dist && parcel build ./packages/index.html"
},


답변

npm-run-all을 사용할 수 있습니다 다른 방법을 많이 여러 명령을 결합

예를 들어, 당신은 당신의에서 다음 스크립트를했다 package.json:

"scripts": {
    "clean": "rimraf dist",
    "lint":  "eslint src",
    "build": "babel src -o lib"
}

다음과 같이 순차적으로 실행할 수 있습니다.

$ npm-run-all clean lint build

여러 개의 npm 명령을 병렬로 실행하는 방법에 대해서는이 질문을 참조하십시오


답변