npm脚本执行多个任务
如果遇到一个类似的需求,比如执行npm publish命令前想先升级下项目的版本,基础操作是在shell中输入两次命令分别为npm run version和npm run publish,但是有没有更简单的方法呢?请看下面的内容:
一. 并行or继发
npm 脚本里面需要执行多个任务,那么需要明确它们的执行顺序。- 并行执行(即同时的平行执行),可以使用&符号;
- 继发执行(即只有前一个任务成功,才执行下一个任务),可以使用&&符号。
例子:
"test2": "node build/version.js && webpack --config build/webpack.prod.config.js"
此时输入npm run test2就会先执行version任务,然后在执行后面的项目打包任务。
二. 钩子
npm 脚本有pre和post两个钩子。举例来说,build脚本命令的钩子就是prebuild和postbuild。
用户执行npm run build的时候,会自动按照下面的顺序执行。
npm run prebuild && npm run build && npm run postbuild
三. 其他
可以再了解下concurrently,concourrently的作用就是让"阻塞"的命令, 可以并发执行, 我们改写package.json内的scripts中。"start": "concurrently 'sass --watch pc/static/scss:pc/static/css mobile/static/scss:mobile/static/css --sourcemap=none' 'live-server --port=1208' 'babel pc/static/es6-js -d pc/static/js --watch' 'babel mobile/static/es6-js -d mobile/static/js --watch' 'echo haha"参考:http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!