如果以监视模式运行且输出最少,如何在webpack4中将当前时间戳添加到输出中

时间:2019-01-20 21:26:55

标签: webpack continuous-integration webpack-4

当您执行CI并打开webpack的一个小窗口来观看文件时,有时很难看到webpack是否已检测到您的更改(此处为Windows 10)。

所以我用--display = minimal减少了输出。但是现在输出仅为“ 33个模块”。看起来都一样。

我想在输出中添加时间戳,以便区分它们。

有一个针对webpack3的解决方案,它将为您提供webpack4中的DeprecationWarning:

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

因此,请使用此功能:

--do not use this in webpack4--  

module.exports = {
  plugins: [
    this.plugin('done',function(){/*...*/})
  ]
}

--do not use this in webpack4--

我错过了迁移路径。

1 个答案:

答案 0 :(得分:1)

这是webpack4的解决方案:

// webpack.config.js
module.exports = {
  plugins: [
    function() {
      this.hooks.done.tap('BuildStatsPlugin', function() {
        console.log(new Date().toLocaleTimeString());
      });
    }
  ]
};

所以,如果您现在这样做...

webpack --watch --display=minimal

...每当您更改其中一个文件时,webpack都会重新编译,并且仅向控制台输出添加两行:

webpack is watching the files…

22:05:34
   33 modules
22:16:04
   33 modules

如果对您有用,请考虑投票,以便其他人可以找到它!