1、contrib-jshint 插件的使用node
一、安裝 「grunt-contrib-jshint 」插件命令(在終端進入到項目根目錄執行)npm
npm install grunt-contrib-jshint --save-devjson
二、在項目根目錄下提供 jshint 插件任務配置須要的 src 目錄和須要被檢測的源文件(js 源文件放置到 src 目錄下)curl
mkdir srcide
三、在 Gruntfile.js 文件中對 jshint 任務進行配置函數
// 包裝函數
module.exports = function (grunt) {
// 任務配置,全部插件的配置信息
grunt.initConfig({
// 獲取 package.json 的信息
pkg: grunt.file.readJSON('package.json'),
// jshint 插件的配置信息
jshint: {
options: {
'-W060': true, // 根據錯誤代碼屏蔽指定錯誤
jshintrc: '.jshintrc' // 指定 jshint 語法檢測規則的配置文件
},
// 具體任務配置
build: ['src/*.js'] // 須要進行 js 語法檢測的源文件,能夠同時指定多個文件
}
});
// 加載指定插件任務
grunt.loadNpmTasks('grunt-contrib-jshint');
// 默認執行的任務
grunt.registerTask('default', ['jshint']);
};
PS:jshint 插件的配置有兩項:grunt
「options」中經過使用「jshintrc」屬性來指定 jshint 語法檢測規則的配置文件,.jshintrc 文件中代碼的格式也要嚴格遵照 json 語法規範,不然無效。oop
「build」中指定哪些 js 文件須要進行語法檢測。ui
四、最後在終端運行 grunt 命令url
PS:若是提示 "Done, without errors." 證實就沒什麼問題了。
五、.jshintrc 文件的配置(該文件放置到項目根目錄下,json 文件內是不能寫註釋的,複製下列內容請刪除註釋)
{
"asi": true, // 是否禁止缺乏分號警告
"loopfunc": true, // 是否禁止函數內部循環
"node": true, // 該文件是否爲 node.js 文件
"curly": true, // 代碼塊是否必須使用大括號
"eqeqeq": false, // 是否使用 "===" 表示相等,"!==" 表示不等
"eqnull": false, // 是否禁止使用 "== null" 比較
"undef": true, // 是否指定變量必須先聲明後使用
"strict": false // 是否禁止使用嚴格模式
}
PS:jshintrc 文件中的選項具體的含義請參考 http://jshint.com/docs/options/