我无法在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,否则我无法再运行任何命令,这可能就是问题了吗?
谢谢!
答案 0 :(得分:7)
||
仅用于在前一个命令失败的情况下运行程序(返回非零状态)。
$ 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"
},
或者如果您只希望它成功运行(更有可能),您可以使用&&
代替||
。请注意,您的平台可能不支持;
。正如评论中所述,;
在Windows上不起作用,但&&
起作用。