reactjs - configuration.module有一个未知属性'loaders'

我输出的错误:

配置对象无效。 Webpack已使用a初始化   与API架构不匹配的配置对象。    - configuration.module具有未知属性'加载器'。 这些属性是有效的:object {exprContextCritical?,   exprContextRecursive?,exprContextRegExp?,exprContextRequest?,   noParse?,rules?,defaultRules?,unknownContextCritical?,   unknownContextRecursive?,unknownContextRegExp?,   unknownContextRequest?,unsafeCache ?, wrappedContextCritical?,   wrappedContextRecursive?,wrappedContextRegExp?,   strictExportPresence?,strictThisContextOnImports? } - >选项   影响正常模块(NormalModuleFactory)。

我的webpack.config.js:

var webpack = require('webpack');
var path = require('path');

var BUILD_DIR = path.resolve(__dirname, 'src/client/public');
var APP_DIR = path.resolve(__dirname, 'src/client/app');

var config = {
  entry: APP_DIR + '/index.jsx',
  module : {
    loaders : [
      {
        test : /\.jsx?/,
        include : APP_DIR,
        loader : 'babel-loader'
      }
    ]
  },
  output: {
    path: BUILD_DIR,
    filename: 'bundle.js'
  }

};


module.exports = config;

我的webpack版本:

webpack@4.1.1
S.M_Emamian asked 2019-08-24T13:40:03Z
4个解决方案
210 votes

您应该在webpack 4中将loaders更改为rules

更改:

loaders 

至:

rules

来源:[https://webpack.js.org/concepts/loaders/#example]

例:

module.exports = {
  module: {
    rules: [
      { test: /\.css$/, use: 'css-loader' },
      { test: /\.ts$/, use: 'ts-loader' }
    ]
  }
};
S.M_Emamian answered 2019-08-24T13:40:33Z
10 votes

在webpack 4中使用rules而不是loaders

[https://webpack.js.org/concepts/loaders/]

Shawn Stephens answered 2019-08-24T13:41:06Z
1 votes

上面给出的答案是有效的,但我们可以通过将webpack和webpack-dev-server版本更改为来解决此问题

"webpack": "3.8.1",
"webpack-dev-server": "2.9.4"

它也可以解决问题。 希望它会有所帮助。

Anshul answered 2019-08-24T13:41:40Z
1 votes

您应该使用迁移实用程序来迁移您的webpack配置文件,它对我有用。

迁移文档也很有用。

MattG answered 2019-08-24T13:42:22Z
translate from https://stackoverflow.com:/questions/49370849/configuration-module-has-an-unknown-property-loaders