运行任务

配置中的任务

grunt.initConfig 的所有属性都是有效的任务,所以如果你的 Gruntfile 看起来像这样:

module.exports = function(grunt) {

    grunt.initConfig({
        jshint: {
            files: ['Gruntfile.js'],
        }
    });

    grunt.loadNpmTasks('grunt-contrib-jshint');

    grunt.registerTask('default', ['jshint']);
};

shell 命令 $ grunt jshint 将运行 jshint 任务。

有目标的任务

任务可以有不同的目标。以这段代码为例:

    grunt.initConfig({
        jshint: {
            gruntfile: {
                files: ['Gruntfile.js']
            },
            project: {
                files: 'src/**/*.js'
            }
        }
    });

在这里,jshint 可以定位项目的 gruntfile 或所有 JavaScript 文件。如果我们运行 $ grunt jshint 将使用两个目标,但是如果我们运行 $ grunt jshint:gruntfile,则 linter 将仅应用于 gruntfile。

注册任务

grunt.registerTask('default', ['jshint']); 这样注册的默认任务将使用 shell 命令 $ grunt 运行。

新注册的任务将作为命令行参数传递给 grunt。例如:

grunt.registerTask('gruntfile', ['jshint:gruntfile']);

将与 $ grunt gruntfile 争吵。