如何在npm中的webpack构建之后运行bash脚本

Iam*_*ace 0 bash npm webpack

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

在我的package.json中我有这个:

"scripts": {
    "build-staging": "webpack --config webpack-staging.config.js -p || ./build-staging.sh"
  },
Run Code Online (Sandbox Code Playgroud)

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

我是否管道错误,或者bash脚本没有运行,因为webpack在完成后没有"杀死"脚本?除非我使用Crtl + C,否则我无法再运行任何命令,也许这就是问题所在?

谢谢!

edd*_*iem 7

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

$ bash -c "exit 0" || echo "This won't run"
$ bash -c "exit 1" || echo "This will run"
This will run
$
Run Code Online (Sandbox Code Playgroud)

如果您希望第二个脚本无论如何运行,您都可以使用

"scripts": {
    "build-staging": "webpack --config webpack-staging.config.js -p ; ./build-staging.sh"
  },
Run Code Online (Sandbox Code Playgroud)

或者,如果您只希望它成功运行(更有可能),您可以使用&&而不是||.请注意,;您的平台可能不支持.正如评论中所提到的,;在Windows上&&不起作用,但确实如此.

  • 应该对此进行编辑以反映“;”在 Windows 上不起作用的事实。`&&` 可以。 (2认同)