Я впервые использую настраиваемый файл конфигурации webpack и пытаюсь разбить свое приложение для реагирования на отдельные компоненты (чтобы они могли отображаться в разных контейнерах root по запросу), а также на общий. js файл, содержащий react et c. и загружается каждый раз.
Базовая c сборка работает нормально после добавления необходимых загрузчиков и c., но теперь я сталкиваюсь с ошибкой, выполняя что-то в точности так, как указано в документации. .
Это отлично работает:
module.exports = {
mode: process.env.NODE_ENV,
entry: {
shared: ["react", "react-dom"],
lightbox: "./src/lightBoxComponent.js",
},
output: {
filename: "[name].min.js",
path: path.resolve(__dirname, "dist"),
},
...
Он разбивает код, как ожидалось, но еще не дедуплицирует его (response и response-dom также включены в lightbox.min. js)
Однако, когда я меняю его на это
module.exports = {
entry: {
shared: ["react", "react-dom"],
lightbox: { import: "./src/lightBoxComponent.js", dependOn: "shared" },
},
output: {
filename: "[name].min.js",
path: path.resolve(__dirname, "dist"),
},
...
, как предлагают документы , сборка завершается ошибкой со следующей ошибкой:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.entry should be one of these:
function | object { <key>: non-empty string | [non-empty string] } | non-empty string | [non-empty string]
-> The entry point(s) of the compilation.
Details:
* configuration.entry['lightbox'] should be a string.
-> The string is resolved to a module which is loaded upon startup.
* configuration.entry['lightbox'] should be an array:
[non-empty string]
-> A non-empty array of non-empty strings
* configuration.entry['lightbox'] should be one of these:
[non-empty string]
-> All modules are loaded upon startup. The last one is exported.
* configuration.entry['lightbox'] should be one of these:
non-empty string | [non-empty string]
-> An entry point with name
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! shop-components@0.1.0 build:bundle: `webpack --config webpack.custom.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the shop-components@0.1.0 build:bundle script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.