Ric*_*ice 115 javascript cmd node.js 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\""
},
Run Code Online (Sandbox Code Playgroud)
我可以运行什么NPM命令让所有这些脚本按顺序启动.当我使用前/后修复时,它们按顺序启动,但它们不会在执行前等待父脚本完成.我假设唯一的解决方案就是:在async.series辅助函数中触发shell命令时,如何让Gulp任务按顺序触发??我知道这可以用Gulp完成,但我现在想坚持使用NPM来探索它的功能.谢谢你的帮助!
Mob*_*ent 244
通过npm run调用这些脚本并使用双&符号链接它们&&:
npm run pre-build && npm run build_logic && npm run post_build && npm run exit
Run Code Online (Sandbox Code Playgroud)
说明:
&&(双&符号)进行顺序执行.&(单个&符号)进行并行执行.Or *_* A. 20
关注@Mobiletainment的最佳答案,您还可以使用npm-run-all使命令更短,更易读.在你的情况下:
"scripts": {
...
"build": "run-s pre-build build_logic post_build exit"
}
Run Code Online (Sandbox Code Playgroud)
run-s是一个快捷方式npm-run-all提供,它顺序运行所有给定的npm脚本,因此-s(run-s是一个较短的版本npm-run-all -s).
Dav*_*e V 19
您可以将它们串入另一个脚本. "start": "pre-build && build_logic && post_build && exit"
Tza*_*dia 11
您可以为脚本pre加上前缀,post这样它们将自动执行:
"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\""
}
Run Code Online (Sandbox Code Playgroud)
然后跑 npm run build
您可以使用npm-run-all以多种不同方式组合多个命令
例如,如果您的 中有以下脚本package.json:
"scripts": {
"clean": "rimraf dist",
"lint": "eslint src",
"build": "babel src -o lib"
}
Run Code Online (Sandbox Code Playgroud)
您可以像这样按顺序运行它们:
"scripts": {
"clean": "rimraf dist",
"lint": "eslint src",
"build": "babel src -o lib"
}
Run Code Online (Sandbox Code Playgroud)
请参阅此问题以了解如何并行运行多个 npm 命令
你可以试试:
"scripts": {
"clean-dist": "rm -f ./dist/*.js && rm -f ./dist/*.map",
"build": "npm run clean-dist && parcel build ./packages/index.html"
},
Run Code Online (Sandbox Code Playgroud)
有几个选项比接受的答案更好:
&&- 顺序运行命令,只要每个命令都成功:command && command && command;大多数shell都支持(早期版本的 Powershell 不支持此功能)(感谢@Mobiletainment);- 按顺序运行命令,忽略成功/失败;大多数(如果不是全部)shell 都支持npm-run-all- 可以顺序或并行运行多个命令;请参阅使用文档(感谢@Or A.)concurrently- 并行运行多个命令(包含在内,因为这是一个流行的 Google 结果);使用说明请参阅文档| 归档时间: |
|
| 查看次数: |
59673 次 |
| 最近记录: |