如何在 webpack 2 中禁用优化警告

How to disable optimize warnings in webpack 2

我正在使用 React/Webpack 2 等。我有 Karma 测试 运行ner 并且当我 运行 我之前启动 Webpack 的测试时,它会抛出控制台警告输出关于大小等(我无法修复它,因为它是 webpack 的东西)。

如何禁用这些警告?我试着设置

stats : "none" 但它不起作用。

感谢您的帮助

WARNING in ./src/modules/Module1/index.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\modules\Module1\index.js
* C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\modules\module1\index.js
    Used by 1 module(s), i. e.
    C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\routes.js

WARNING in ./src/modules/Module1/containers/Module1.container.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\modules\Module1\containers\Module1.container.js
    Used by 1 module(s), i. e.
    C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\modules\Module1\index.js
* C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\modules\module1\containers\Module1.container.js
    Used by 1 module(s), i. e.
    C:\work\EazeGamesClient\node_modules\babel-loader\lib\index.js!C:\work\EazeGamesClient\node_modules\eslint-loader\index.js?{"fix":true}!C:\work\EazeGamesClient\src\modules\module1\index.js

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (250 kB).
This can impact web performance.
Assets:
  src/containers/Root.container.js (825 kB)
  src/containers/Root.container.dev.js (821 kB)
  src/store/configureStore.js (629 kB)
  src/store/configureStore.dev.js (628 kB)
  src/containers/DevTools.js (612 kB)
  src/containers/Root.container.prod.js (389 kB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (250 kB). This can impact web performance.
Entrypoints:
  src/containers/DevTools.js (612 kB)
      src/containers/DevTools.js

  src/containers/Root.container.dev.js (821 kB)
      src/containers/Root.container.dev.js

  src/containers/Root.container.js (825 kB)
      src/containers/Root.container.js

  src/containers/Root.container.prod.js (389 kB)
      src/containers/Root.container.prod.js

  src/store/configureStore.dev.js (628 kB)
      src/store/configureStore.dev.js

  src/store/configureStore.js (629 kB)
      src/store/configureStore.js


WARNING in webpack performance recommendations:
You can limit the size of your bundles by using System.import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

P.S。更新 1

webpack.testing.config

let process = require("process"),
    autoprefixer = require('autoprefixer'),
    precss = require('precss'),

    webpack = require("webpack"),
    helpers = require("./helpers"),

    ExtractTextPlugin = require("extract-text-webpack-plugin"),
    CssSourcemapPlugin = require("css-sourcemaps-webpack-plugin"),

    srcName = "src";

module.exports = {
    entry : {
        "vendor" : ["react", "react-dom", "react-router", "redux", "react-router-redux"],
        "app" : helpers.root(srcName, "index.js")
    },
    output : {
        path : helpers.root("dist"),
        publicPath : "/",
        filename : "[name].[hash].bundle.js",
        chunkFilename : "[id].[hash].bundle.chunk.js"
    },
    context : helpers.root(srcName),

    module : {
        rules : [
            {
                enforce : 'pre',
                test : /\.jsx?$/,
                loader : 'eslint-loader',
                options: {
                    fix: true,
                },
                include: helpers.root(srcName)
            },
            {
                test : /\.jsx?$/,
                loaders : [
                    'babel-loader',
                ],
                exclude : /node_modules/
            },
            {
                test : /\.css$/,
                loaders : [
                    'style-loader',
                    'css-loader?modules',
                    'postcss-loader',
                ],
            },
        ],
    },

    stats: "none",

    devtool: 'inline-source-map',


    plugins : [
        new webpack.LoaderOptionsPlugin({
            options : {
                eslint : {
                    configFile : '.eslintrc',
                    failOnWarning : false,
                    failOnError : false
                }
            }
        }),
        new CssSourcemapPlugin(),
        new ExtractTextPlugin("[name].[hash].css")
    ],

    performance: {
        hints: false
    }
};

根据日志,有两种类型的警告

  1. 警告 ... 大小限制 - 为了修复它添加到 webpack.config 选项 performance

    performance: {
      hints: false
    }
    

    Recommended disable hints in development mode however enable in production mode

  2. 警告 有多个模块的名称仅在外壳上有所不同。 - 似乎此警告与 Windows OS 有关在 github 上有 issue 讨论了这个问题