- 基本任务("Basic" Tasks):基本任务不会在Grunt Configuration或环境里查找,它只是直接运行指定的任务函数。启动它时,可以传给它任何有冒号分开参数作为函数的参数,形式和运行多任务的目标是一样的,形式如下:
定义基本任务的格式:grunt 任务名:参数1:参数2...:参数n
eg:grunt.registerTask(taskName, [description, ] taskFunction)
grunt.registerTask('foo', 'A sample task that logs stuff.', function(arg1, arg2) { if (arguments.length === 0) { grunt.log.writeln(this.name + ", no args"); } else { grunt.log.writeln(this.name + ", " + arg1 + " " + arg2); } });
- 多任务(Multi Tasks):多任务是由多个目标(target)组成。多任务可以有多个配置项,当运行一个多任务时,Grunt会查找在Grunt Configuration里与任务名同名的属性。例如:grunt-contrib-uglify,grunt-contrib-concat就是multi tasks。你可以使用“grunt 任务名”运行它包含的所有target,也可以通过“grunt 任务名:target名”来单独运行单一的target。同时运行多个任务可以通过
定义多任务的格式:grunt 任务名1 任务名2 ... 任务n
eg:grunt.registerMultiTask(taskName, [description, ] taskFunction)
grunt.initConfig({ log: { foo: [1, 2, 3], bar: 'hello world', baz: false } }); grunt.registerMultiTask('log', 'Log stuff.', function() { grunt.log.writeln(this.target + ': ' + this.data); });
- 别名任务(Alias Tsaks):你可以将多个定义过的基本任务、多任务、多任务的目标组成一个新的任务。
定义别名任务的格式:
eg:grunt.registerTask(taskName, [description, ] taskList)
grunt.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']); grunt.registerTask('dist', ['concat:dist', 'uglify:dist']);
- 自定义任务(Custom Tasks):如果你很喜欢多任务,但不想写多任务那样的结构,你可以使用自定义任务来实现。自定义任务可以被认为是基本任务的加强版,二者的书写形式是一样的,自定义任务适应更多的场景。
eg,你可以在任务函数里运行其他任务:grunt.registerTask('foo', 'My "foo" task.', function() { // Enqueue "bar" and "baz" tasks, to run after "foo" finishes, in-order. grunt.task.run('bar', 'baz'); // Or: grunt.task.run(['bar', 'baz']); });
grunt的任务种类
最新推荐文章于 2022-10-08 16:30:42 发布