執行任務

配置中的任務

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 爭吵。