2014-02-21 33 views
0

我有以下手錶配置,可重新加載頁面並運行其他任務。如何指定在watch grunt config上運行哪些子taks

watch: { 
      js: { 
       files: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'], 
       tasks: ['jshint'], 
       options: { 
        livereload: true, 
       }, 
      }, 
      html: { 
       files: ['public/views/**', 'app/views/**'], 
       options: { 
        livereload: true, 
       }, 
      }, 
      css: { 
       files: ['public/css/**'], 
       options: { 
        livereload: true 
       } 
      }, 
      test: { 
       files: ['app/**/*.js', 'test/mocha/**/*.js'], 
       tasks: ['mochaTest', 'karma:unit'] 
      } 
     }, 

我不想跑任務表裏面的「測試」選項,我只是想,當我指定,就像在我的測試任務來運行它:

grunt.registerTask('test-w', ['mochaTest', 'karma:unit', 'watch:test']); 

我已經試着做這裏面的併發任務:

tasks: ['nodemon', 'watch:js:html:css'] 

沒有工作偏偏:(

+0

只要從'watch'塊中取出'test'即可。你能顯示你的整個gruntfile嗎?這個問題聽起來很奇怪。 – Mathletics

+0

在這裏你是 https://gist.github.com/DanilloCorvalan/9140163 –

+1

這並不奇怪,我完全明白。不幸的是,除了將'app/**/*。js'離開'watch:test'任務之外,我不知道解決方案。 – silvenon

回答

0

就在0123指定所有必要的手錶任務:

tasks : ['nodemon', 'watch:js', 'watch:html', 'watch:css'] 
+0

我曾嘗試過,但它抱怨端口35729已被'watch:js'使用,我意識到這是因爲每個配置(js,html和css)被設置爲livereload:true。我通過使一個單獨的配置(全部)來監視所有事物,而不是將它們分開,從而對它進行了整理。 –

相關問題