configuration.module具有未知属性'loaders'


136

我的错误输出:

无效的配置对象。已使用与API模式不匹配的配置对象初始化Webpack。-configuration.module具有未知的属性“ loaders”。这些属性是有效的:对象{exprContextCritical?,exprContextRecursive?,exprContextRegExp?,exprContextRequest?,noParse ?、规则?,defaultRules?,unknownContextCritical?,unknownContextRecursive?,unknownContextRegExp?,unknownContextRequest?,unsafeCache?,wrappedContextCritical?,wrappedContextRecursive?,wrappedContextRegExpcursive? ?,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

Answers:


317

您应该在webpack 4中更改loadersrules

更改:

loaders 

至:

rules

来源:装载机

例:

module.exports = {
  module: {
    rules: [
      { test: /\.css$/, use: 'css-loader' },
      { test: /\.ts$/, use: 'ts-loader' }
    ]
  }
};

1
是错字吗?它应该rules在webpack 4中。–
Sin

您应该在webpack 4中使用规则。
S.M_Emamian

2
将加载程序更改为webpack 4中的规则...以防万一,需要再次说一遍:/
Helmut Granda

1
你应该在你的答案解释,对于变化的原因是4的WebPack
kojow7


2

以上给出的答案有效,但我们可以通过将webpack和webpack-dev-server版本更改为

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

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


我给你提起了。唯一的问题是,人们希望升级框架和工具的版本以获取新功能,而不仅仅是为了确保不必更改配置文件而使用旧版本。也许不费吹灰之力就可以更改配置文件,使其与该工具的新工作方式保持一致。除非那是不可能的。
Eniola

谢谢@Eniola,是的,您是对的。正如我提到的,S.M_Emamian答案是正确的,但如果有人同意使用旧版本的webpack,我的答案将起作用。
Anshul


0

在webpack.config.js下为我工作

module.exports = {
    entry: [
        '.src/index.js'
    ],
    output:{
        path: __dirname,
        filename: 'app/js/main.js'
    },
    module:{
        rules: [
          { test: /\.css$/, use: 'css-loader' },
          { test: /\.ts$/, use: 'ts-loader' }
        ]
    }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.