Webpack:沉默输出

时间:2015-06-10 12:47:05

标签: webpack webpack-dev-server

我想知道是否有配置选项告诉webpack仅记录"重要信息"到终点站。几乎只是错误和警告,而不是所有这些:

output of terminal with webpack

输出量非常大!很想压制常见的东西,只有webpack输出警告/错误。想要webpackwebpack-dev-serverkarma-webpack的解决方案。

注意:我尝试了noInfo: truequiet: true,但似乎没有做到这一点。

编辑:我认为这可能无法做到,所以我在github上创建了一个问题:https://github.com/webpack/webpack/issues/1191

10 个答案:

答案 0 :(得分:46)

在我的webpack配置中,“执行此操作”将增量构建时间缩短了8秒,并使输出静音。主要是chunks: false

使用它来满足您的需求

module.exports = {
 devServer: {
  stats: {
    colors: true,
    hash: false,
    version: false,
    timings: false,
    assets: false,
    chunks: false,
    modules: false,
    reasons: false,
    children: false,
    source: false,
    errors: false,
    errorDetails: false,
    warnings: false,
    publicPath: false
  }
 }
}

答案 1 :(得分:25)

我不知道何时添加了此功能,但我在the docs中注意到您可以添加webpackMiddleware属性,然后您可以指定noInfo: true。这样做可以消除所有噪音!但是当出现错误时你仍会看到输出。耶!

答案 2 :(得分:21)

  

你并不需要这一切。

是您所需要的

实际上,这两个很有效。

stats: 'errors-only',

在导出对象的末尾。

也可以使用stats: 'minimal',它只在错误或新编译发生时输出。阅读official documentation of Webpack.

的更多内容

答案 3 :(得分:8)

如果您使用的是webpack-dev-middleware,则可以将noInfo: true作为第二个参数投放到对象中。 还假设您还有一个节点/快速服务器正在运行。

enter image description here

干杯。

答案 4 :(得分:6)

您已获得--display选项,可让您选择要显示的信息量级别。

来自webpack --help

--display: Select display preset
[string] [choices: "", "verbose", "detailed", "normal", "minimal", "errors-only", "none"]

如果您想更精确地配置显示的信息,您还可以使用webpack.config.js中的stats字段配置您的网络包。

答案 5 :(得分:3)

的WebPack

  ...
  stats: {
    modules: false,
  },
  ...

开发服务器

  ...
  devServer: {
    stats: {
      modules: false,
    },
  },
  ...

参考

https://webpack.js.org/configuration/stats/

答案 6 :(得分:1)

如果您直接使用Webpack API,并且您正在调用stats.toString(),那么您可以传递参数以降低噪音:

webpack(config).watch(100, (err, stats) => {
  console.log(stats.toString({chunks: false}))
})

答案 7 :(得分:1)

下面推荐stats配置,这将保留重要日志并删除无用的信息。

stats: {
  cached: false,
  cachedAssets: false,
  chunks: false,
  chunkModules: false,
  chunkOrigins: false,
  modules: false
}

答案 8 :(得分:0)

您对此感兴趣的是statsmodule Webpack(一部分)。基本上,这个模块产生the output。默认情况下,输出大部分包含资产列表和模块列表。您可以使用--hide-modules指令隐藏模块。关于资产,不存在类似的选择。但是有presets。您可以使用--display选项指定预设。隐藏资产的预设是... none

还有另一种影响统计数据的方式:webpack.config.js。添加stats: {assets: false, modules: false}会大大减少输出。或stats: 'none'使Webpack完全静音。不是我推荐它。通常,errors-only是一种解决方法。要使其受webpack-dev-server影响,请将其放在devServer键下。

Webpack 2.x没有--display选项。隐藏模块的唯一方法是--hide-modules开关。我的意思是,在配置中指定stats: 'errors-only'stats: {modules: false}无效。由于this的代码覆盖了所有这些内容。

对于webpack-dev-server,还有--no-info--quiet选项。

有关其工作原理的更多见解。 webpack-cli创建outputOptions object。编译完成后,它将统计信息转换为stringoutputsStats.toStringstats转换为json,然后将json转换为string。在这里您可以看到the defaults

答案 9 :(得分:0)

这些天 noInfo quietstats 已被 Webpack 配置根目录中的 infrastructureLogging 替换:

// webpack.config.js
...
infrastructureLogging: {
  level: 'error',
},