在webpack --watch我只看到第一个错误

时间:2016-08-25 09:09:01

标签: javascript webpack

使用webpack选项在--watch中编译项目时,如果项目在less编译器中有错误,我会在输出中看到错误。一旦我纠正错误webpack重新编译并且一切正常。

但是如果文件中有多个错误而我只修复了其中一个错误,那么当webpack重新编译代码时它不会显示新的错误消息,实际上控制台根本不会更新。

例如:

  1. less文件有两个错误并保存文件
  2. webpack --watch尝试编译文件并失败,显示第一个错误
  3. 我修复了第一个错误并保存
  4. webpack 显示第二个错误
  5. 如果第二次失败,如何告诉webpack显示更新后的构建错误?

1 个答案:

答案 0 :(得分:5)

webpack cli似乎无法使用此选项,但您可以轻松创建一个插件来监听构建事件并输出任何错误,即:

const ConsoleNotifierPlugin = function () {}

ConsoleNotifierPlugin.prototype.compilationDone = (stats) => {
  const log = (error) => {
    console.log(error.error.toString())
  }
  stats.compilation.errors.forEach(log)
}

ConsoleNotifierPlugin.prototype.apply = function (compiler) {
  compiler.plugin('done', this.compilationDone.bind(this))
}

然后将其添加到插件中:

...
plugins: [new ConsoleNotifierPlugin()]
...