2014-09-25 65 views
7

我試圖設置grunt-notifygrunt-contrib-lessgrunt-contrib-watch。一般情況下,這種方法運行良好,但是當grunt-less成功執行時,我無法通過grunt-notify來通知我。grunt-notify:成功時不會觸發

如果任何人有任何關於如何設置或調試的見解,很高興有任何輸入。


全部信息:

我已經安裝咕嚕-通知觸發時少已經運行使用手錶。這在任務失敗失敗時很有用。給了我很大的彈出錯誤:

image

僅供參考這是控制檯輸出:

image

當少成功,我沒有得到任何通知。我想獲得通知,但無法弄清楚如何啓用此功能。

這是控制檯輸出的時候不太成功:

image

這是GruntFile我使用:

module.exports = function(grunt) { 

    grunt.initConfig({ 

     less: { 
      development: { 
       options: { 
        compress: true 
       }, 
       files: { 
        "FILE.css": "FILE2.less" 
       } 
      } 
     }, 

     watch: { 
      less: { 
       files: '**/*.less', 
       tasks: ['less', 'notify_hooks'] 
      } 
     }, 


     notify_hooks: { 
      options: { 
       message: "MESSAGE" 
      } 

     } 


    }); 

    grunt.loadNpmTasks('grunt-contrib-less'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-notify'); 

    grunt.registerTask("default", ['less']); 

}; 

Original question on Github

回答

9

您需要爲y添加消息我們的任務轉移到gruntfile並指定它要給那個消息的任務。見下面

notify: { 
    less:{ 
     options:{ 
      title: "CSS Files built", 
      message: "Less task complete" 
     } 
    } 
} 

僅供參考,你可以看到他們在git repo readme

添加使用的完整性:

由於uKolka已下文提到的,你還需要手錶任務進行更新按他解決方案:

watch: { 
    less: { 
     files: '**/*.less', 
     tasks: ['less', 'notify:less'] 
    } 
}, 

其中notify:less引用notifiy對象內的較少任務。

+0

謝謝!我發誓我昨天嘗試了這個,但它沒有奏效。儘管現在工作,所以謝謝! - 將在5分鐘內接受此答案(一旦允許)。 – sixtyfootersdude 2014-09-25 15:26:17

+0

沒問題,很高興它的工作。 – DavidT 2014-09-25 15:26:58

8

應當注意的是,指定通知任務...

notify: { 
    less:{ 
     options:{ 
      title: "CSS Files built" 
      message: "Less task complete" 
     } 
    } 
} 

...只是交易的一部分。

它也應該註冊在您希望觸發的任務中。

所以對原OP的代碼工作

watch: { 
     less: { 
      files: '**/*.less', 
      tasks: ['less', 'notify_hooks'] 
     } 
    }, 

應改爲

watch: { 
     less: { 
      files: '**/*.less', 
      tasks: ['less', 'notify:less'] 
     } 
    }, 

此引用前面提到的notify:less

+0

這個答案是真正的解決方案,大多數人可能會在配置正確的東西時動搖。 – Ikon 2014-11-14 15:34:45