grunt-notify:不会触发成功

时间:2014-09-25 15:16:15

标签: javascript gruntjs less grunt-contrib-watch grunt-notify

我正在尝试使用grunt-notifygrunt-contrib-less设置grunt-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

2 个答案:

答案 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