У конфигурации.module есть неизвестные свойства 'loaders'

мой выход ошибки:

Неверный объект конфигурации. Webpack был инициализирован с использованием объекта конфигурации, который не соответствует схеме API. - configuration.module имеет неизвестные свойства 'loaders'. Эти свойства действительны: object {exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, defaultRules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports? } → Options affecting the normal modules (NormalModuleFactory). } → Параметры, влияющие на нормальные модули (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;

моя версия веб-пакета:

[email protected]

Ответ 1

Вы должны изменить loaders на rules в веб-пакете 4:

Изменение:

loaders 

в:

rules

источник: грузчики

Пример:

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

Ответ 3

Вышеуказанные ответы работают, но мы можем решить эту проблему, изменив версию webpack и webpack-dev-server, чтобы

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

Он также может решить проблему. Надеюсь, это поможет.

Ответ 4

Вы должны использовать утилиту перенастройки для переноса файлов конфигурации webpack, это сработало для меня.

Документация по миграции также полезна.