首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack忽略stats选项

Webpack忽略stats选项
EN

Stack Overflow用户
提问于 2018-01-25 21:39:09
回答 1查看 3K关注 0票数 4

更新

@的回答解决了我的统计问题。作为今后的参考,webpack (至少)有四种处理统计数据的方法:

  1. stats视为常规webpack选项https://webpack.js.org/configuration/stats/
  2. 如果使用devServer,则必须将其放置在该对象中(参见上面链接中的注释)
  3. 如果使用Node,则必须在回调函数中。https://webpack.js.org/api/node/#stats-object
  4. 正如丹尼尔所指出的,webpack-dev-middleware重写了统计数据,因此对象必须在那里,https://github.com/webpack/webpack-dev-middleware#stats

================================================

使用webpack 3.10,我试图抑制我得到的百万条extract-text-webpack-plugin日志。

我们正在使用webpack节点API。在我们的server.js (我们的节点入口点)中,我们有以下内容:

代码语言:javascript
复制
// server.js

const app = express();

if (environment.isLocal) {
  require('./webpackConfig')(app);
} else {
  app.use(compression());
}
// other stuff

我们在节点中使用webpack:

代码语言:javascript
复制
// webpackConfig.js

const webpack = require('webpack');
const config = require('../webpack.config.dev');

module.exports = (app) => {
  const compiler = webpack(config, (err, stats) => {
    stats.toJson("none"); // none for brevity, but not working
  });

  app.use(require('webpack-dev-middleware')(compiler, {
    noInfo: true,
    publicPath: config.output.publicPath
  }));

  app.use(require('webpack-hot-middleware')(compiler));
};

最后,整个配置

代码语言:javascript
复制
// webpack.config.dev.js

module.exports = {
  devtool: 'cheap-module-source-map',
  entry: {
    app: [
      'eventsource-polyfill',
      'webpack-hot-middleware/client?reload=true',
      './src/index'
    ]
  },
  target: 'web',
  output: {
    path: __dirname + '/dist',
    publicPath: '/',
    filename: '[name].js'
  },
  devServer: {
    contentBase: './src'
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoEmitOnErrorsPlugin(),
    new ExtractTextPlugin('[name]-[hash].css'),
    new HtmlWebpackPlugin({
      title: 'annoying webpack', 
      template: './src/index.html', 
      alwaysWriteToDisk: true,
      inject: false
    }),
    new HtmlWebpackHarddiskPlugin()
  ],
  module: {
    rules: [
      {
        test: /\.js$/,
        enforce: 'pre',
        loader: require.resolve('eslint-loader'),
        options: {
          failOnWarning: false,
          failOnError: false
        },
        exclude: /node_modules|dist/
      },
      {
        test: /\.js$/,
        include: [path.join(__dirname, 'src')]
        loader: 'babel-loader'
      }
    ]
  }
};

控制台输出

代码语言:javascript
复制
webpack building...
webpack built c22fd3ae797ecd55eccc in 7410ms
ℹ 「wdm」: Hash: c22fd3ae797ecd55eccc
Version: webpack 3.10.0
Time: 7410ms
                       Asset       Size  Chunks                    
Chunk Names
                      app.js    2.53 MB       0  [emitted]  [big]  
app
app-c22fd3ae797ecd55eccc.css     125 kB       0  [emitted]         
app
                  app.js.map    2.97 MB       0  [emitted]         
app
app-c22fd3ae797ecd55eccc.css.map    4.71 kB       0  [emitted]         
app
                  index.html  275 bytes          [emitted]
   [3] ./node_modules/react/react.js 56 bytes {0} {0} [built]
 [100] ./node_modules/react-dom/index.js 59 bytes {0} {0} [built]
 [107] ./node_modules/react-redux/es/index.js 230 bytes {0} {0} 
[built]
   ..... 
    + 867 hidden modules
    Child html-webpack-plugin for "index.html":
         Asset    Size  Chunks  Chunk Names
    index.html  568 kB       0
    .....   
ℹ 「wdm」: Compiled successfully.
webpack built d7509fff9f1c995bf5ee in 7523ms
ℹ 「wdm」: Hash: d7509fff9f1c995bf5ee
Version: webpack 3.10.0
Time: 7523ms
                       Asset       Size  Chunks                    
Chunk Names
                      app.js    2.53 MB       0  [emitted]  [big]  
app
app-d7509fff9f1c995bf5ee.css     125 kB       0  [emitted]         
app
                  app.js.map    2.97 MB       0  [emitted]         
app
app-d7509fff9f1c995bf5ee.css.map    4.71 kB       0  [emitted]         
app
                  index.html  275 bytes          [emitted]
   [5] ./src/App.js 3.62 kB [built]
   [6] ./src/store/configureStore.js 325 bytes [built]
   .....
    + 867 hidden modules
Child html-webpack-plugin for "index.html":
     Asset    Size  Chunks  Chunk Names
index.html  568 kB       0
   [0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html 646 bytes {0} [built]
   [1] ./node_modules/lodash/lodash.js 540 kB {0} [built]
   [2] (webpack)/buildin/global.js 509 bytes {0} [built]
   [3] (webpack)/buildin/module.js 517 bytes {0} [built]
ℹ 「wdm」: Compiled successfully.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-25 22:39:12

关于统计选项,webpack-dev-middlewarewebpack-dev-server有他们自己的统计设置,我认为这超过了webpack自己的设置。我建议你试试这个

代码语言:javascript
复制
  app.use(require('webpack-dev-middleware')(compiler, {
    noInfo: true,
    publicPath: config.output.publicPath,
    stats: 'errors-only'
  }));
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48452322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档