經過命令行:
npm install grunt-contrib-jshint --save-devjquery
globals :
Type : object
Default:null
定義了全局變量的字典,key就是全局變量名,布爾類型的值來表示是否能夠賦值,這不是 JSHint 的標準選項,可是會做爲第三個參數傳遞給 JSHint。
若是要用jquery,則在此配置項中加入變量key以下代碼:npm
options: { globals: { $: false, jQuery:false } }
定義了全局變量後就可使用jquery了
jshintrc:
Type: String or true
Default: null
若是設置爲 true,這裏的配置參數不會傳遞給 JSHint,JSHint 將會經過 .jshintrc 文件來獲取參數。
若是設置了文件名,將會經過這個文件獲取配置參數. 這個 jshintrc 文件必須是一個合法的 JSON 文件,相似這樣。
須要注意的是 :
jshintrc 文件的配置信息不會與 gruntfile.js 中的配置進行合併。
extentions :
Type: String
Default: ' '
須要檢查的非 dot-js 擴展名列表
ignores :
Type: Array
Default: null
須要忽略的文件和目錄列表. 將會覆蓋 .jshintignore 文件。
force :
Type: Boolean
Default: false
設置爲 true 將會報告 JSHint 錯誤,而不會將任務失敗掉。
reporter:
Type: String
Default: null
容許修改輸出插件,默認使用 Grunt 內置的報告器. 能夠配置爲自定義的報告器路徑,或者 JSHint 內置的報告器之一: jslint 或者 checkstyle。
See also: Writing your own JSHint reporter. 能夠指定一個外部的報告器,例如: jshint-stylish: 首先經過 npm 進行安裝。
$ npm install --save-dev jshint-stylish
而後進行配置curl
options: { reporter: require('jshint-stylish') }
reporterOutput:
Type: String
Default: null
配置報告的輸出路徑. 若是配置,輸出將不會輸出到標準輸出流,而是這個設置的路徑。
wildcards :
下面的這個例子,執行 grunt jshint:all ( 因爲 jshint 是一個多任務的任務,能夠直接使用 grunt jshint, ) 將會使用默認的 JSHint 配置。檢查 Gruntfile.js,lib 下面的任何 js 文件,test 下面的任何 js 文件ide
grunt.initConfig({ jshint: { all: ['Gruntfile.js', 'lib/**/*.js', 'test/**/*.js'] } });
Linting before and after concatenating :
下面的這個例子中,執行 grunt jshint 將會檢查 'beforeconcat' 和 'afterconcat' 的全部文件,這並不理想,由於 dist/output.js 會在 grunt-contrib-concat plugin 的 concat 任務建立它以前被檢查。
在這種狀況下,應該先檢查 'beforeconcat' 中的文件, 而後合併文件,最後再檢查 'afterconcat' 中的文件,這樣執行:grunt jshint:beforeconcat concat jshint:afterconcat.grunt
grunt.initConfig({ concat: { dist: { src: ['src/foo.js', 'src/bar.js'], dest: 'dist/output.js' } }, jshint: { beforeconcat: ['src/foo.js', 'src/bar.js'], afterconcat: ['dist/output.js'] } });
Specifying JSHint options and globals : 這個例子演示了定製 JSHint 的配置. 注意在 grunt jshint:uses_defaults 執行的時候,將會使用默認的配置, 可是當 grunt jshint:with_overrides 執行的時候,將使用合併以後的配置。ui
grunt.initConfig({ jshint: { options: { curly: true, eqeqeq: true, eqnull: true, browser: true, globals: { jQuery: true }, }, uses_defaults: ['dir1/**/*.js', 'dir2/**/*.js'], with_overrides: { options: { curly: false, undef: true, }, files: { src: ['dir3/**/*.js', 'dir4/**/*.js'] }, } }, });
Ignoring specific warnings : 若是但願忽略特定的警告:url
[L24:C9] W015: Expected '}' to have an indentation at 11 instead at 9.
能夠經過在警告標識以前加上減號 (-) 來關掉它。spa
grunt.initConfig({ jshint: { ignore_warning: { options: { '-W015': true, }, src: ['**/*.js'], }, }, });