dev和prod之间的Grunt切换任务

时间:2016-08-16 19:40:36

标签: javascript gruntjs

我有一个咕噜咕噜的文件,我试图看看我是否可以拆分,所以我可以打电话给grunt build:devgrunt 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'
]);

我想知道是否有办法像使用devprod的密钥一样分配此任务,其中prod的任务列表与dev略有不同。类似于如何使用像

这样的配置来进行类似的排序
 return {
    dev: {
     ...
    },
    prod: {
     ...
    }  
 }

这样的事情可能吗?为了清楚起见,我问我是否可以在一项任务中注册这些内容。

1 个答案:

答案 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:devgrunt build:prod

注意:如果您只是执行grunt build,它将遍历所有属性,因此它将同时运行开发任务和生成任务。