Javascript 如果JSHint在监视任务期间失败,如何使Grunt构建失败?
这似乎是一个基本问题,但我不知道怎么做 我希望在保存带有jshint错误的文件时,Grunt构建失败。输出表明jshint失败,但Grunt仍然成功完成Javascript 如果JSHint在监视任务期间失败,如何使Grunt构建失败?,javascript,gruntjs,grunt-contrib-jshint,Javascript,Gruntjs,Grunt Contrib Jshint,这似乎是一个基本问题,但我不知道怎么做 我希望在保存带有jshint错误的文件时,Grunt构建失败。输出表明jshint失败,但Grunt仍然成功完成 grunt.initConfig({ 观察:{ js:{ 文件:['/scripts/{,***}/*.js'], 任务:['newer:jshint:all'] } } }) 我知道有,但我在这里如何使用它?以下gist将通过CLI报告jshint错误,并且在保存.js文件时无法执行任何后续构建步骤 您需要根据您的要求进行调整: 目录结构:
grunt.initConfig({
观察:{
js:{
文件:['/scripts/{,***}/*.js'],
任务:['newer:jshint:all']
}
}
})
我知道有,但我在这里如何使用它?以下gist将通过CLI报告
jshint
错误,并且在保存.js
文件时无法执行任何后续构建步骤
您需要根据您的要求进行调整:
目录结构:
package.json
{
“名称”:“stack40031078”,
“版本”:“0.0.1”,
“说明”:“对堆栈问题40031078的回答”,
“作者”:“RobC”,
“许可证”:“Apache-2.0”,
“依赖性”:{
“咕噜”:“^1.0.1”,
“grunt contrib jshint”:“^1.0.0”,
“grunt contrib手表”:“^1.0.0”,
“grunt更新版”:“^1.2.0”
}
}
Grunfile.js
module.exports=函数(grunt){
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
//验证JS
jshint:{
//请注意,我们使用的是“src:”而不是下面的“all:”。
档案:{
src:'./scripts/{,***}/*.js'
},
选项:{
//在此处使用jshint配置或在中定义它们
//一个单独的.jshintrc文件,并将标志设置为:
//
//jshintrc:是的
柯莉:是的,
Eqeq:是的,
伊梅德:没错,
拉特德:是的,
纽卡普:没错,
诺格:没错,
sub:没错,
是的,
老板:是的,
eqnull:true,
浏览器:是的,
是的,
全局:{}
}
},
//观看JS文件
观察:{
js:{
文件:['./scripts/{,***}/*.js'],
//注意:下面我们没有使用'newer:jshint:all',只使用'newer:jshint'
任务:['newer:jshint'/*以下gist将通过CLI报告jshint
错误,并在保存.js
文件时无法执行任何后续生成步骤
您需要根据您的要求进行调整:
目录结构:
package.json
{
“名称”:“stack40031078”,
“版本”:“0.0.1”,
“说明”:“对堆栈问题40031078的回答”,
“作者”:“RobC”,
“许可证”:“Apache-2.0”,
“依赖性”:{
“咕噜”:“^1.0.1”,
“grunt contrib jshint”:“^1.0.0”,
“grunt contrib手表”:“^1.0.0”,
“grunt更新版”:“^1.2.0”
}
}
Grunfile.js
module.exports=函数(grunt){
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
//验证JS
jshint:{
//请注意,我们使用的是“src:”而不是下面的“all:”。
档案:{
src:'./scripts/{,***}/*.js'
},
选项:{
//在此处使用jshint配置或在中定义它们
//一个单独的.jshintrc文件,并将标志设置为:
//
//jshintrc:是的
柯莉:是的,
Eqeq:是的,
伊梅德:没错,
拉特德:是的,
纽卡普:没错,
诺格:没错,
sub:没错,
是的,
老板:是的,
eqnull:true,
浏览器:是的,
是的,
全局:{}
}
},
//观看JS文件
观察:{
js:{
文件:['./scripts/{,***}/*.js'],
//注意:下面我们没有使用'newer:jshint:all',只使用'newer:jshint'
任务:['newer:jshint'/*
project
│
├──package.json
│
├───scripts
│ │
│ └───test.js
│
├─── Gruntfile.js
│
└───node_modules
│
└─── ...
Running "jshint:files" (jshint) task
./scripts/test.js
1 |console.log('Hello Universe');
^ 'console' is not defined.
>> 1 error in 1 file
Warning: Task "jshint:files" failed. Use --force to continue.
Aborted due to warnings.
Completed in 0.965s at Fri Oct 14 2016 10:22:59 GMT+0100 (BST) - Waiting...