2016-02-10 117 views
0

我總是用一口我所有任務的自動化,但在我們目前的項目中,我們使用的呼嚕聲,我無法弄清楚如何使非常簡單的事情:咕嚕運行任務

grunt.initConfig({ 
    watch: { 
     scripts: { 
      files: '**/*.js', 
      tasks: ['karma:watch:run'], 
     } 
    }, 
    myWatch: { 
     scripts: { 
      files: '**/*.js', 
      tasks: ['do_my_own_task_but_not_karma'], 
     } 
    } 
}); 

//current task 
grunt.registerTask('default', ['watch']); 

//doesn't work 
grunt.registerTask('myWatchTask', ['myWatch']); 

基本上我只是想爲我自己的自定義任務覆蓋當前的watch配置,因爲我不想每次更改js文件時都會運行測試。

回答

1

您需要的watch配置對象中添加一個新的配置:

grunt.initConfig({ 
    watch: { 
    main: { 
     scripts: { 
      files: '**/*.js', 
      tasks: ['karma:watch:run'], 
     } 
    }, 
    myWatch: { 
     scripts: { 
      files: '**/*.js', 
      tasks: ['do_my_own_task_but_not_karma'], 
     } 
    } 
}, 
}); 

然後你可以運行grunt watch:maingrunt watch:myWatchsee these docs

如果您希望始終觀看某些內容,則可以將其添加到watch配置對象的根目錄中。

grunt.initConfig({ 
    watch: { 
    files: '**/always.js', 
    tasks: ['always'], 
    main: { 
     scripts: { 
      files: '**/*.js', 
      tasks: ['karma:watch:run'], 
     } 
    }, 
    myWatch: { 
     scripts: { 
      files: '**/*.js', 
      tasks: ['do_my_own_task_but_not_karma'], 
     } 
    } 
}, 
}); 

現在grunt watch:myWatch將運行它的專用配置,並在watch配置對象的根的配置。

+0

酷,它現在的作品:) –