簡體   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