首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【小心得】npm run多个script

亲爱的小伙伴们

最近收到了很多大家发来的

读「小心得」系列后自己的想法

跟大家交流的过程非常美好~

未来我们继续相互学习,共同进步吧

◆◆◆

今天就请出我们部门萌萌的

——旭爷!

为大家带来npm run多个script方面的「小心得」

在使用npm script运行多个任务时,通常需要选择任务是串行执行还是并行执行。

串行执行可以保证命令执行的顺序,并行执行可以提高运行速度。

package.json如下:

s1:进行eslint校验的任务

s2:进行jsonlint校验的任务

s:ori: 原生并行执行s1,s2的任务

s:lib: 使用npm-run-all并行执行s1,s2的任务

原生方式管理

串行执行

只需要使用&&把多个npm script连接起来即可,例如:npm run s1 && npm run s2

这样就可以严格按照s1,s2的先后顺序执行

并行执行

将并行的&&符号改成&,把多个npm script连接起来,例如:npm run s1 & npm run s2

此时s1和s2的执行先后顺序不确定。

& wait

从上面的截图可以看到s1的检测结果在进程结束以后才输出显示。

原因:在并行执行的命令执行时间差异大些的时候,会出现在进程退出以后,有一些script才输出执行结果的情况。

为了保证在进程执行完之前script都执行完,并有输出结果,需要在命令的最后加上 & wait

npm run s1&& npm run s2 & wait

下面是执行s:ori结果,此时不会再出现任务进程结束以后,再输出eslint检测结果的情况。

添加& wait的好处还有,在执行一些比较费时的script时,还可以使用ctrl + c随时结束在后台启动的进程。

npm-run-all

npm-run-all为一个进行管理多script执行的npm包。

串行执行

只需要改写为npm-run-all s1 s2

并行执行

只需要改写为npm-run-all --parallel s1 s2。

下面为执行s:lib的结果,可以实现和执行s:ori同样的效果。

串行并行混合使用

npm-run-all s1 s2--parallel s3 s4 --sequential s5 s6

其他使用方法详见官方文档:

https://github.com/mysticatea/npm-run-all/blob/HEAD/docs/npm-run-all.md

好啦,今天的分享就到这里啦~

小伙伴们有任何小心得

也欢迎留言与我们讨论互动喔!

◆◆◆

请大家持续关注我们的公众号

我们会不断地分享更多有趣的干货~

笔芯~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180307G1GJN000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券