【问题标题】:'grunt watch' won't run from a package.json script on Windows'grunt watch' 不会从 Windows 上的 package.json 脚本运行
【发布时间】:2017-04-03 02:57:46
【问题描述】:

我正在 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 中的一个已知问题吗?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 我正在看一个教程,其中开发人员在 iOS 中运行正常 - 在 iOS 环境中是否可以默认同时运行任务?
    猜你喜欢
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2018-08-02
    • 2015-06-04
    • 2015-07-08
    相关资源
    最近更新 更多