Я пытаюсь обработать переменные разработки и выпуска в конфигурации моего веб-пакета (см. https://webpack.js.org/guides/production/),, но он не работает с
WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration should be an object.
package.json
{
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "./node_modules/.bin/webpack",
"start": "npm run build && node server.js"
},
"devDependencies": {
//...
"webpack": "^4.20.2",
"webpack-cli": "^3.1.2",
"webpack-dev-middleware": "^3.4.0",
"webpack-hot-middleware": "^2.24.2"
}
}
webpack.config.js
const path = require('path'),
webpack = require('webpack'),
HtmlWebpackPlugin = require('html-webpack-plugin');
let config = {
entry: {
app: [
'./src/app/App.tsx', 'webpack-hot-middleware/client'
],
vendor: ['react', 'react-dom']
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'js/[name].bundle.js'
},
// ...
}
Этот экспорт работает, как и ожидалось, без ошибок и предупреждений
module.exports = config; // everything is fine
Но это не удается
module.exports = function(env, argv) { // this errors
return config;
};
Существует аналогия, но оставленный без ответа вопрос здесь: Базовая конфигурация webpack как функция не работает
Это очень загадочное поведение, спасибо, если кто-нибудь может помочь!