我是用macOS开发的,这个npmscripts可以很好的执行并行或串行脚本,比如我们来看看我的scripts下正常执行的代码段MacOS:"scripts":{"dev":"webpack--watch--configwebpack.dev.js&npmruns","build":"webpack--configwebpack.prod.js","prod":"webpack--configwebpack.prod.js&npmruns","lint":"eslint--ext./src/*.js","lintfix":"eslint--fix./src/*.js","sa":"nodemon./servers/51la/server.js","sb":"nodemon./servers/jump/server.js","sc":"nodemon./server.js","s":"npmrunsa&npmrunsb&npmrunsc"},这里我执行npmrundev来处理webpack--watch--configwebpack.dev.js和npmrun并行s,执行下面的时候命令,可以触发npmrunsa&npmrunsb&npmrunsc的执行,然后再次触发相应的三个命令。暂时不管他的多层召唤。关键点:别人用Windows就完了。结束方法是什么?Windows不支持此方法。执行webpack--watch--configwebpack.dev.js后就停止了,为了解决跨平台兼容的问题。也找了几个相关的方案,比如npm-run-all、Concurrently、parallelshell、cross-env等,但是经过综合测试,concurrently还是很方便的。所以我使用了这个工具,调整了脚本来解决问题:"scripts":{"dev":"concurrently\"webpack--watch--configwebpack.dev.js\"\"npm:s-*\"","build":"webpack--configwebpack.prod.js","prod":"webpack--configwebpack.prod.js&npmruns","lint":"eslint--ext./src/*.js","lintfix":"eslint--fix./src/*.js","s-a":"nodemon./servers/51la/server.js","s-b":"nodemon./servers/jump/server.js","s-c":"nodemon./server.js","s":"npmrunsa&npmrunsb&npmrunsc",}这样就解决了,但是如果遇到串口,也就是按顺序执行(MacOS下只需要将&换成&&),好像不能解决?所以这块可能要看看有没有办法处理跨平台。相关阅读:如何并行运行多个npm脚本?同时运行多个Node.js或NPM命令的4个解决方案
