npm - 如何让 Grunt 捕获 npm build 任务错误并导致任务失败?
问题描述
您好,我们为我们的项目配置了一个 Gruntfile.js,它包含以下信息(出于演示目的,我删除了许多其他不相关的内容)。
// ...
// Define the configuration for all the tasks
grunt.initConfig({
// Project settings
project: appConfig,
concurrent: {
options: {
stderr: true,
stdout: true,
failOnError: true
},
webpackDevImagmin: ['run:webpackDev'],
},
run: {
options: {
stderr: true,
stdout: true,
failOnError: true
},
webpackDev: {
cmd: 'npm',
args: [
'run',
'build:dev'
],
options: {
stderr: true,
stdout: true,
failOnError: true
}
}
},
});
grunt.registerTask('buildInternal:app', [
'concurrent:webpackDevImagmin',
]);
在我们的项目中,我们故意删除了一些文件以使 npm 任务失败。但是当我们执行 grunt 命令时,我们看到了类似
ERROR in ./app/public/modules/PartnershipsCtrl.js Module not found: Error: Cannot resolve module 'our/services/OurResource' in /code/our/app/public/modules/partnerships/controllers @ ./app/public/modules/partnerships/controllers/PartnershipsCtrl.js 9:4-53 Done, without errors.
我的理论是 npm 错误不会为任务返回 false,我的问题是如何让它在错误时返回 false 并使 grunt Task 失败?
解决方案
推荐阅读
- gam - 使用 gam.check() 检查基础尺寸结果的 GAM 拟合问题
- javascript - 如何在反应笑话单元测试中模拟 document.location.href
- python - 你能帮我在python中旋转这个熊猫数据框吗?
- html - 如何在表格中添加标题?
- latex - Latex-引理在末尾显示黑色矩形
- django - 使用 RSA 算法 Django Rest Framework 简单 JWT 时出现错误无法反序列化密钥数据
- javascript - 电子公证未能签署二进制文件
- ios - 如何使用协议委托将数据从 swift 传递到目标 c?
- apache-spark - Spark不可分割/可分割的输入文件
- go - 无法使用 go 模块更新单个包