GRUNT----JSHINT

一、在需要安装的项目目录中安装

通过命令行:
npm install grunt-contrib-jshint --save-dev

二、配置项(options)

globals :
Type : object
Default:null
定义了全局变量的字典,key就是全局变量名,布尔类型的值来表示是否可以赋值,这不是 JSHint 的标准选项,但是会作为第三个参数传递给 JSHint。
如果要用jquery,则在此配置项中加入变量key如下代码:

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
然后进行配置

options: {
    reporter: require('jshint-stylish')
}

reporterOutput:
Type: String
Default: null
配置报告的输出路径. 如果配置,输出将不会输出到标准输出流,而是这个设置的路径。
wildcards :
下面的这个例子,执行 grunt jshint:all ( 由于 jshint 是一个多任务的任务,可以直接使用 grunt jshint,  ) 将会使用默认的 JSHint 配置。检查 Gruntfile.js,lib 下面的任何 js 文件,test 下面的任何 js 文件

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.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 执行的时候,将使用合并之后的配置。

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 : 如果希望忽略特定的警告:

[L24:C9] W015: Expected '}' to have an indentation at 11 instead at 9.

可以通过在警告标识之前加上减号 (-) 来关掉它。

grunt.initConfig({
    jshint: {
        ignore_warning: {
            options: {
                '-W015': true,
            },
            src: ['**/*.js'],
        },
    },
});
posted @ 2017-02-21 19:30  爬虫年纪  阅读(297)  评论(0编辑  收藏  举报