【问题标题】:How to suppress built modules from webpack terminal output?如何从 webpack 终端输出中抑制构建的模块?
【发布时间】:2017-08-17 06:11:41
【问题描述】:

当使用 webpack2.x 构建我的项目时,终端控制台的构建日志是这样的:

Hash: d09758ddb088e1f8cd3b
Version: webpack 2.2.1
Time: 9450ms
                         Asset       Size  Chunks             Chunk Names
   app.d09758ddb088e1f8cd3b.js    28.7 kB       0  [emitted]  app
vendor.d09758ddb088e1f8cd3b.js     206 kB       1  [emitted]  vendor
style.d09758ddb088e1f8cd3b.css    1.89 kB       0  [emitted]  app
             index_bundle.html  852 bytes          [emitted]
   [1] ./~/vue/dist/vue.common.js 226 kB {1} [built]
[1] ./~/vue/dist/vue.common.js 226 kB {1} [built]
   [3] ./~/vue-loader/lib/component-normalizer.js 1.12 kB {0} [built]
   [4] ./~/process/browser.js 5.3 kB {1} [built]
   [5] ./~/lodash/lodash.js 540 kB {1} [built]
   [7] ./~/axios/index.js 40 bytes {1} [built]
   [8] ./~/vue-router/dist/vue-router.common.js 56.1 kB {1} [built]

我怎样才能删除像./~/vue/dist/vue.common.js 226 kB {1} [built] 这样的消息并得到这个输出:

Hash: d09758ddb088e1f8cd3b
Version: webpack 2.2.1
Time: 9450ms
                         Asset       Size  Chunks             Chunk Names
   app.d09758ddb088e1f8cd3b.js    28.7 kB       0  [emitted]  app
vendor.d09758ddb088e1f8cd3b.js     206 kB       1  [emitted]  vendor
style.d09758ddb088e1f8cd3b.css    1.89 kB       0  [emitted]  app
             index_bundle.html  852 bytes          [emitted]

【问题讨论】:

    标签: node.js webpack webpack-2


    【解决方案1】:

    您可以使用stats 选项maxModules 并将其设置为0,这样它就不会显示任何已构建的模块。此选项当前未记录。在你的 webpack 配置中添加:

    stats: {
      maxModules: 0
    }
    

    理论上你应该可以使用 modules: falsechunkModules: false 但这似乎不适用于 webpack CLI,至少它适用于 webpack-dev-middleware


    该选项现在记录在Configuration - Stats

    【讨论】:

      【解决方案2】:

      使用 webpack node.js API:

      const compiler = webpack(config);
      
      compiler.run((err, stats) => {
        if (err) {
          console.error(err.stack || err);
          if (err.details) console.error(err.details);
          process.exit(1);
        }
      
        process.stdout.write(stats.toString({
          chunks: false,
          colors: true
        }) + '\n');
      
        if (stats.hasErrors()) {
          process.exit(2);
        }
      });

      使用 webpack CLI 时,可以尝试--hide-modules 选项。

      【讨论】:

        【解决方案3】:

        由于--hide-modules 似乎已被删除,请将以下内容添加到您的 webpack.config.js:

        stats: {
            modules: false
        }
        

        此选项记录在此:Stats | webpack

        【讨论】:

        • 这对我有用,我在最新的 webpack ATM 上`"webpack": "^5.65.0", "webpack-cli": "^4.9.1"`。非常感谢。
        【解决方案4】:

        实际上,有很多选项可以配置你的 webpack cli 输出。您可以在webbapck.config 文件中的stats 对象中设置它。不幸的是,我找不到隐藏您想要的线条的选项。

        请参阅Docs 了解设置 cli 输出

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-21
          • 1970-01-01
          • 2017-09-11
          • 2020-04-21
          • 2018-08-23
          相关资源
          最近更新 更多