在调用实际的"build“之前,我使用了一个"prebuild”钩子来运行一些逻辑。有没有办法在预构建逻辑检测到错误的情况下使构建失败?
我试过了:
process.exit( -1 );添加到预构建节点JS脚本中,然后:
throw err;但没有成功。
发布于 2019-05-14 13:56:44
在RobC评论之后进行更多的调查,并在这里回复,以帮助其他有同样问题的人。
这与交叉变量的用法有关:
"scripts": {
"prebuild": "cross-var $INIT_CWD/my-path/my-script",
"build": "react-app-rewired build",
},查看cross-var的源代码,我注意到有两种不同的执行路径,这取决于执行的脚本是否有一些参数;在这种情况下,使用的是spawn()而不是exec()。而且它似乎能更好地处理出错时的执行。所以我最终写了一些类似这样的东西:
"scripts": {
"prebuild": "cross-var $INIT_CWD/my-path/my-script hack",
"build": "react-app-rewired build",
},现在,失败的预构建会正确地停止构建过程。
感谢RobC的评论。
https://stackoverflow.com/questions/56109660
复制相似问题