'grunt watch'不会从Windows上的package.json脚本运行

时间:2017-04-03 02:57:46

标签: node.js gruntjs grunt-contrib-watch

我正在Windows机器上进行小型节点应用程序的开发运行。我已经设置了grunt-contrib-watch,可以通过输入'grunt watch'从bash命令行成功运行它。它按预期工作。

但是当我在package.json文件中运行以下脚本时:

"scripts": {
"start": "node app",
"predev": "grunt",
"dev": "start http://localhost:3000 & node-dev app & grunt watch"
}

...并使用'npm run dev'启动应用程序,新的浏览器选项卡成功打开,应用程序按预期在端口3000上运行,但'grunt watch'不运行。我可以打开一个新的bash窗口并单独运行'grunt watch',它可以成功运行。我也可以自动打开浏览器窗口,然后成功运行'grunt watch',但似乎我无法启动服务器并从同一个bash窗口运行grunt - 这是Windows中的已知问题吗?

1 个答案:

答案 0 :(得分:0)

当用&命令链接不同的命令时,一个接一个地执行。这意味着在您的配置中,只有在关闭服务器后才会执行& node-dev app & grunt watch命令。

要在我的构建中并行执行不同的命令,我使用parallelshell模块......我不确定它有多稳定,但它似乎对我有用。可能还有其他更合适的解决方案。

链接到parallelshell的npm页面:https://www.npmjs.com/package/parallelshell