мой вывод ошибки:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema. - configuration.module has an unknown property 'loaders'. These properties are valid: object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, defaultRules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports? } -> Options affecting the normal modules (
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]





Вы должны изменить loaders на rules в webpack 4:
менять:
loaders
к:
rules
источник: Погрузчики
Пример:
module.exports = {
module: {
rules: [
{ test: /\.css$/, use: 'css-loader' },
{ test: /\.ts$/, use: 'ts-loader' }
]
}
};
вы должны использовать правила в webpack 4.
измените загрузчики на правила в webpack 4 ... на случай, если нужно будет сказать еще раз: /
В своем ответе вы должны объяснить, что причиной изменения является webpack 4.
Используйте rules в webpack 4 вместо loaders.
Вышеуказанные ответы работают, но мы можем решить эту проблему, изменив версию webpack и webpack-dev-server на
"webpack": "3.8.1",
"webpack-dev-server": "2.9.4"
Это также может решить проблему. Надеюсь, это поможет.
Я вас подбросил. Единственная проблема заключается в том, что люди хотят обновлять версии фреймворков и инструментов, чтобы получить новые функции, а не возвращаться к более старым версиям, просто чтобы убедиться, что им не нужно изменять свои файлы конфигурации. Возможно, неплохо потрудиться изменить файл конфигурации, чтобы он соответствовал новому способу работы инструмента. Разве что это невозможно.
Спасибо @Eniola, да, ты прав. Как я уже упоминал, ответ S.M_Emamian правильный, но мой ответ будет работать, если кто-то согласится работать с более старой версией webpack.
Вы должны использовать утилита миграции для переноса файлов конфигурации веб-пакета, у меня это сработало.
документация по миграции также полезен.
Работаю для меня ниже 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' }
]
}
}
Это опечатка? В webpack 4 должен быть
rules.