Webpack 4 предупреждает о недопустимом объекте конфигурации при указании нескольких точек входа в качестве объектов - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь разделить мое приложение на две части, которые зависят от одного и того же модуля. Я слежу за официальными документами по веб-пакетам, которые описывают, как этого можно достичь, создавая несколько точек входа, например:

module.exports = {
    entry: {
        index: {
            import: "./src/index.js",
            dependOn: "oidcclient"
        },
        callback: {
            import: "./src/callback.js",
            dependOn: "oidcclient"
        },
        oidcclient: "./src/oidc-client"
    },
    ...

Приведенная выше конфигурация выдает мне следующую ошибку при попытке собрать:

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['callback'] should be a string.
      -> The string is resolved to a module which is loaded upon startup.
    * configuration.entry['callback'] should be an array:
      [non-empty string]
      -> A non-empty array of non-empty strings
    * configuration.entry['callback'] should be one of these:
      [non-empty string]
      -> All modules are loaded upon startup. The last one is exported.
    * configuration.entry['callback'] should be one of these:
      non-empty string | [non-empty string]
      -> An entry point with name

Если я удаляю точку входа для callbackk и сохраняю index вместе с oidcclient, я получаю аналогичную ошибку для index вместо callback.

Я в значительной степени копирую пример из официальных документов, что не позволяет мне понять, что может быть причиной этого. Любая помощь очень ценится.

1 Ответ

0 голосов
/ 29 апреля 2020

Причина проблемы: вы используете функцию webpack v5.

Итак, у вас есть два способа решения проблемы:

  1. вернуть значения в entry вернуться к строк и использовать эту функцию для разделения фрагментов:
  2. обновить веб-пакет до v5 (в данный момент он все еще находится в состоянии BETA);
...