configuration.module有一个未知的属性'加载器'

时间:2018-03-19 19:24:51

标签: reactjs webpack

我的错误输出:

  

无效的配置对象。 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@4.1.1

5 个答案:

答案 0 :(得分:219)

您应该在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' }
    ]
  }
};

答案 1 :(得分:10)

在webpack 4中使用rules而不是loaders

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

答案 2 :(得分:2)

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

来解决此问题
var typeParam = new ConstructorArgument("type", type);
ViewModelLocator.Get<IDataViewModel>(typeParam);

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

答案 3 :(得分:2)

您应该使用migration utility来迁移Webpack配置文件,它对我有用。

migration documentation也很有用。

答案 4 :(得分: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' }
        ]
    }
}