如何自定义Grunt任务

2025-05-21 17:17:38
推荐回答(1个)
回答(1):

gruntfile.js可配置路径的读取方法:
一是通过自定义的task,接受命令行参数,并据此加以处理。
二是在运行任务之前,通过grunt.config.set(;xx.;, value)这样的方式,动态修改原来的配置。
举例:
module.exports = function (grunt) {

// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON(;package.json;),
jasmine_node: {
options: {
matchall: false,
extensions: ;js;,
specNameMatcher: ;_spec;
},
// 对于grunt-jasmine-node而言,这里设置了目标文件夹
all: [;test/spec/;]
}
});

grunt.loadNpmTasks(;grunt-jasmine-node;);
grunt.registerTask(;default;, [;jasmine_node;]);

// 自定义一个task,运行方式:grunt spec:dir 或 grunt spec
grunt.registerTask(;spec;, ;run tests in specific dir;, function(dir){
// 如果是grunt spec,dir的值为undefined,那么维持原设置不变
if (dir !== undefined) {
// 否则,修改jasmine-node的all选项
grunt.config.set(;jasmine_node.all;, [;test/spec/; + dir]);
}
// 运行原来的task
grunt.task.run(;jasmine_node;);
});
};