2014-09-25 31 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