我有一个特殊的JSHint/Grunt设置,我想在其中完成以下任务:
- 从一个.jshintrc文件加载,以允许我的IDE linter获取我的设置
- 能够在其他繁重的任务中覆盖.jshintrc中的单个选项
- 让JSHint始终以verbose模式运行,这样我就可以始终看到警告数字,而不需要使用--verbose运行所有的grunt
以下内容允许我从.jshintrc加载并始终以详细方式运行,但不允许选项重写。文档提到应该是这种情况,但没有说明详细的选项,它有效:
jshint: {
options:{
jshintrc: '.jshintrc',
verbose: true,
},
source: {
options: {
ignores: ['src/**/*.test.js'],
},
files:{
src:['src/**/*.js']
}
},
tests: {
options: {
unused: false
},
files: {
src: ['src/**/*.test.js']
}
}
}
为了绕过覆盖限制,只需让grunt将.jshintrc文件的内容注入到配置中是相当容易的,但无论出于何种原因,这都会导致linter现在抛出"第0行第0列错误选项:'verbose'.(E001)"错误(如果我删除了options.verbose=true;行,但没有verbose标志,则会正确运行):
jshint: {
options:(function () {
var options = grunt.file.readJSON('.jshintrc');
options.verbose = true;
return options;
}()),
source: {
options: {
ignores: ['src/**/*.test.js'],
},
files:{
src:['src/**/*.js']
}
},
tests: {
options: (function () {
var options = grunt.file.readJSON('.jshintrc');
options.unused = false;
return options;
}()),
files: {
src: ['src/**/*.test.js']
}
}
}
那么,考虑到我的三个标准,有没有一种方法可以配置grunt以这种方式运行?
如何使用grunt contrib jshint:在特定文件上运行jshint
./node_modules/grunt-contrib-jshint/node_modules/jshint/bin/jshint --verbose app/sources/modules/dashboard/views/dashboard-performance/dashboard-performance-ctrl.js
没有办法在选项中为grunt jshint定义详细模式。而且,它不会得到解决,直到咕哝更新(感谢MaxPRafferty)