Max*_*rty 7 javascript jshint gruntjs
我有一个特殊的JSHint/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']
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了解决覆盖限制,只需将grunt将.jshintrc文件的内容注入到配置中就相当容易,但无论出于何种原因,这会导致linter现在抛出"line 0 col 0 Bad option:'verbose'. (E001)"错误(如果我删除options.verbose = true;行,但没有详细标记,则运行正常):
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']
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以,鉴于我的三个标准,有没有办法配置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
Run Code Online (Sandbox Code Playgroud)
无法在选项中为 grunt jshint 定义详细模式。并且直到grunt更新后才能解决。
(感谢 MaxPRafferty)