npm脚本的时间/性能指标

时间:2015-12-22 03:12:42

标签: node.js performance build gruntjs npm

有没有办法衡量npm脚本的性能,类似于time-grunt的工作方式?

我正在将一些关键构建任务移动到使用npm而不是Grunt,因为编写我自己的构建脚本比使用grunt-browserify之类的一些Grunt插件更灵活。

我尝试过使用console.time()但是在脚本完成之前就完成了,我假设因为这些方法是异步的。我也尝试将npm脚本作为Grunt任务运行,如下所示:

grunt.registerTask('collectify', function () {
    grunt.util.spawn({
        cmd: 'npm',
        args: ['run', 'collectify:app']
    });
});

但输出与我从命令行运行npm run collectify:app时的输出不同,可能是因为pwd问题。

彩色条很不错,但至少我想看看数字的时间。

2 个答案:

答案 0 :(得分:1)

您最好的选择可能是[foo]之前和发布[foo]脚本。

因此,如果我有一个名为“foobar”的NPM脚本,那么我可以创建一个名为“preboofar”和“postfoobar”的脚本,它们将在“foobar”执行之前和之后自动执行。

因此,在“pre”中,您可以使用时间戳触摸文件,在“post”中,您可以读取该文件并计算差异。

答案 1 :(得分:0)

您是否尝试在time命令之前添加npm run命令?

所以如果你的命令是:

npm run collectify:app

变成:

time npm run collectify:app

它会输出3行,例如

real    0m11.580s
user    0m7.400s
sys     0m1.304s

让我知道它是否有帮助!