Webpack не разрешает ввод объекта - PullRequest
0 голосов
/ 28 мая 2020

Я впервые использую настраиваемый файл конфигурации 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.
...