我有一个咕噜咕噜的文件,我试图看看我是否可以拆分,所以我可以打电话给grunt build:dev
或grunt build:prod
。
现在任务看起来像这样 -
grunt.registerTask('build', "Building all needed files.", [
'clean:build',
'check-code',
'clean:dist',
'dist:prepare',
'copy',
'cssmin',
'injector',
'webpack:prod',
'create-status-page'
]);
我想知道是否有办法像使用dev
和prod
的密钥一样分配此任务,其中prod的任务列表与dev略有不同。类似于如何使用像
return {
dev: {
...
},
prod: {
...
}
}
这样的事情可能吗?为了清楚起见,我问我是否可以在一项任务中注册这些内容。
答案 0 :(得分:3)
您可以使用multitask。
grunt.initConfig({
build: {
dev: ['task1', 'task2', 'task3'],
prod: ['taskA', 'taskB', 'taskC']
}
});
grunt.registerMultiTask('build', 'Building...', function() {
grunt.task.run(this.data);
});
然后你可以grunt build:dev
或grunt build:prod
注意:如果您只是执行grunt build
,它将遍历所有属性,因此它将同时运行开发任务和生成任务。