javascript – 一旦grunt任务完成,如何打印文本?

前端之家收集整理的这篇文章主要介绍了javascript – 一旦grunt任务完成,如何打印文本?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一旦Grunt任务完成,我想打印出一些信息.请参阅下面的Grunt片段.

有没有办法实现这个目标?我注意到grunt.task.run()不支持回调.这会导致在覆盖报告输出之前打印出我的消息.

grunt.registerTask('coverage','Runs all unit tests available via Mocha and generates code coverage report',function() {
    grunt.task.run('env:unitTest','mochaTest');

    grunt.log.writeln('Code coverage report was generated into "build/coverage.html"');
});

我还想避免“hacks”,例如创建一个grunt任务,只是为了打印信息并将其添加到grunt.task.run()任务链.

解决方法

有一种更好的方法可以做到这一点,无需创建额外的任务,也可以修改其他任何内容.

Grunt是一个节点进程,因此您可以:

>使用进程标准输出来编写您需要的内容
>订阅进程退出事件以在任务完成执行时执行此操作

这是一个简单的示例,它打印出任务完成执行的时间:

module.exports = function (grunt) {
    // Creates a write function bound to process.stdout:
    var write = process.stdout.write.bind(process.stdout);

    // Subscribes to the process exit event...
    process.on("exit",function () {
        // ... to write the information in the process stdout
        write('\nFinished at ' + new Date().toLocaleTimeString()+ '\n');
    });

    // From here,your usual gruntfile configuration,without changes
    grunt.initConfig({

当您运行任何任务时,您会在底部看到一条消息,如:

Finished at 18:26:45

猜你在找的JavaScript相关文章