我正在尝试使用grunt-notify和grunt-contrib-less设置grunt-contrib-watch。一般情况下,这种方法运行良好,但是当grunt-less成功执行时,我无法通知grunt-notify通知我。
如果有人对如何设置或调试有任何见解,很高兴有任何意见。
完整信息:
我已经设置了grunt-notify,只要少用手表运行就会触发。当较少的任务失败时,这很有效。给我一个很棒的弹出错误:
作为参考,这是控制台输出:
当不太成功时,我没有收到任何通知。我想收到通知,但无法弄清楚如何启用此功能。
这是较少成功时的控制台输出:
这是我正在使用的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']);
};
答案 0 :(得分:9)
您需要将任务的消息添加到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对象中较少的任务。
答案 1 :(得分: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
。