动态更改`dest`选项

时间:2014-05-31 21:22:22

标签: node.js gruntjs

我有一些繁琐的任务来编译文件,并希望在不同的任务中“回收”它们。

我试图修改目标目录但没有成功......我的想法是这样的:

grunt.registerTask('bower', ['compile:index', 'compile:core'], function(){
    this.options({dest: 'dist/*.js'});
});

compile:index任务本身运行良好(即单独调用时)并且dest: 'index.js,其他任务有其他文件名。我想在bower任务中更改这些内容,添加一个新目录,但保留原始任务中定义的文件名。

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以创建动态别名任务,配置然后运行如下任务:

grunt.registerTask('bower', function(target) {
  target = target || 'index';
  if (target === 'core') {
    grunt.config('compile.core.dest', 'dist/core.js');
  } else {
    grunt.config('compile.index.dest', 'dist/index.js');
    // Will call itself after compile:index has ran to configure for compile:core
    grunt.task.run(['compile:index', 'bower:core', 'compile:core']);
  }
});

然后输入grunt bowergrunt bower:index将动态配置/运行compile:index任务,然后配置/运行compile:core任务。