【问题标题】:How to run bash script after webpack build in npm如何在 npm 中构建 webpack 后运行 bash 脚本
【发布时间】:2016-11-18 19:06:01
【问题描述】:

我在 npm 中链接脚本时遇到问题。我正在使用 webpack,运行一个构建脚本,然后想运行一个 bash 文件。这两个命令都有效,但如果链接它们,则无效。

在我的 package.json 我有这个:

"scripts": {
    "build-staging": "webpack --config webpack-staging.config.js -p || ./build-staging.sh"
  },

如果我运行 npm run build-staging 它 webpack 运行构建并且工作正常。但是它不运行我的build-staing.sh。如果我手动运行这个 bash 文件,它就会运行,所以我的问题是让它在 webpack 脚本完成后链接并运行。我已经看到管道 || 应该这样做,但没有运气。

是我做错了管道,还是 bash 脚本没有运行,因为 webpack 完成后不会“杀死”脚本?除非我使用 Crtl+C,否则我无法运行更多命令,也许这就是问题所在?

谢谢!

【问题讨论】:

    标签: bash npm webpack


    【解决方案1】:

    || 仅用于在前一个命令失败(返回非零状态)时运行程序。

    $ bash -c "exit 0" || echo "This won't run"
    $ bash -c "exit 1" || echo "This will run"
    This will run
    $
    

    如果你想让你的第二个脚本无论如何都运行,你可以使用

    "scripts": {
        "build-staging": "webpack --config webpack-staging.config.js -p ; ./build-staging.sh"
      },
    

    或者,如果您只希望它在成功时运行(这更有可能),您可以使用 && 而不是 ||。请注意,您的平台可能不支持;。如 cmets 中所述,; 在 Windows 上不起作用,但 && 可以。

    【讨论】:

    • 这应该被编辑以反映; 在 Windows 上不起作用的事实。 && 确实如此。
    • 是的,|| 是我的问题。 && 已修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 2016-08-28
    • 1970-01-01
    • 2020-08-14
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多