grunt-contrib-jshint:用于javascript代码检查(并会给出建议),发布js代码前执行jshint任务,
可以避免出现一些低级语法问题
jshint拥有非常丰富的配置,可以自由控制检验的级别。
安装插件:npm install grunt-contrib-jshint --save-dev
grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), jshint: { options: { //大括号包裹 curly: true, //对于简单类型,用于===和!==,而不是==和!= eqeqeq: true, //对于首字母大写的函数(声明的类),强制使用new newcap: true, //禁用arguments.caller和arguments.callee noarg: true, // 对于属性使用aaa.bbb,而不是aaa['bbb'] sub: true, //查找所有未定义变量 undef: true, //查找类似与if(a = 0)这样的代码 boss: true, //指定运行环境为node.js node: true }, //具体任务配置 files: { src: ['src/*.js'] } } });
jshint可以结合grunt-contrib-concat使用,在合并文件前(后)对js进行检查。
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'] } });
类似的还有grunt-contrib-csslint插件,用于css代码检查,用法基本一样,只是配置上存在差异