Pav*_*ský 8 javascript node.js gruntjs
一旦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"');
});
Run Code Online (Sandbox Code Playgroud)
我还想避免"hacks",比如创建一个grunt任务,只是为了打印信息并将其添加到grunt.task.run()
任务链中.
Kyl*_*ung 18
创建一个在完成所有操作后运行的任务,然后将其添加到任务链:
grunt.registerTask('alldone', function() {
grunt.log.writeln('Code coverage report was generated into "build/coverage.html"');
});
grunt.registerTask('default', ['env:unitTest', 'mochaTest', 'alldone']);
Run Code Online (Sandbox Code Playgroud)
有一种更好的方法可以做到这一点,无需创建额外的任务,也无需修改任何其他内容。
Grunt 是一个节点进程,因此您可以:
stdout
写出你需要的内容exit
事件以在任务完成执行时执行此操作这是一个简单的示例,它打印任务完成执行的时间:
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({
Run Code Online (Sandbox Code Playgroud)
当您运行任何任务时,您会在底部看到一条消息,如下所示:
18:26:45 结束
归档时间: |
|
查看次数: |
5140 次 |
最近记录: |