10

有时在监视模式下运行 webpack 并编辑源文件时,我不确定 webpack 是否已打包我的更改。

每次 webpack 更新捆绑包时,有没有办法在控制台打印时间戳?

4

5 回答 5

18

您可以添加自定义插件,例如:

config.plugins.push(new function() {
    this.apply = (compiler) => {
        compiler.hooks.done.tap("Log On Done Plugin", () => {
            console.log(("\n[" + new Date().toLocaleString() + "]") + " Begin a new compilation.\n");
        });
    };
});
于 2017-03-16T05:59:15.533 回答
8

datou3600的答案很赞,但为什么不做的更好呢?

添加一点延迟:

  1. 文本放在最后
  2. 屏幕闪烁明显

这是代码:

config.plugins.push(function(){
    this.plugin('done', function(stats) {
        setTimeout(
            () => {
                console.log(('\n[' + new Date().toLocaleString() + ']') + ' --- DONE.\n');
            },
            100
        );
    });
});
于 2018-10-26T15:20:16.457 回答
5

安装webpack-watch-time-plugin

它显示观察者重建发生的时间。

截屏

于 2017-01-19T11:29:44.873 回答
3

只是一个更新

DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead

你可以这样做:

class WatchTimerPlugin {
  apply(compiler) {
    compiler.hooks.done.tap('Watch Timer Plugin', (stats) => {
      console.log(('\n[' + new Date().toLocaleString() + ']') + ' --- DONE.\n');
    });
  }
}

module.exports = WatchTimerPlugin;
于 2020-06-26T12:09:57.547 回答
1

如果您想以编程方式使用时间戳 - 例如用于调试,或确保最新版本的远程同步正常工作 - 您还可以使用webpack.DefinePlugin.runtimeValue

new webpack.DefinePlugin({
    BUILDTIME: webpack.DefinePlugin.runtimeValue(Date.now, true)
})

这将始终通过常量为您提供最新的构建时间BUILDTIME

于 2021-12-03T15:29:35.843 回答