繁体   English   中英

自定义目标

[英]Grunt custom targets

假设我有3种咕gr的目标模式: quickbuilddist

我也有一个自定义的目标make-stuff

grunt.registerTask('make-stuff', [
            'someCSStask',
            'someUtility',
            'somePackage',
            'isolatedTask' // More on this below
        ]);

...可以在上述所有三种目标模式(快速,构建,发行)中运行,如下所示:

grunt.registerTask('quick', [
        'some-task1',
        'make-stuff'
    ]);

grunt.registerTask('build', [
        'some-task1',
        'some-task2',
        'make-stuff'
    ]);

grunt.registerTask('dist', [
        'some-task3',
        'build' // make-stuff gets ran here since we reference 'build'
    ]);

我想在每个目标模式下正常运行make-stuff ,除了quick之外,我希望它忽略isolatedTask

如果这是您的设置,为什么不将'isolatedTask'移入构建?

grunt.registerTask('build', [
    'some-task1',
    'some-task2',
    'make-stuff',
    'isolatedTask'
]);

否则,尝试这样的事情

grunt.registerTask(
   'isolatedTask',
   'Isolated tasks for make-stuff, skip if target mode is quick.',
   function() {
      var target = this.args[0];
      if (target === 'quick') { return; }

      // logic here
   }
);

grunt.registerTask(
   'quick', 
   function() {
      grunt.run.tasks([
          ...,
          'isolatedTask:' + this.nameArgs
      ]);
   }
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM