Минимальная упаковка с использованием электронного компоновщика - PullRequest
0 голосов
/ 26 июня 2019

У меня есть веб-приложение, созданное с использованием NextJS.Моя цель - создать приложение Electron, которое будет обслуживать это веб-приложение удаленно, используя BrowserView.Я не хочу, чтобы в приложении Electron были какие-либо локальные ресурсы, такие как пакеты .js.

У меня определены main.js и preload.js, а в режиме разработки (который я запускаю с помощью electron .) приложение работает отлично.

Я использую electron-builder дляпостроить приложение.У меня есть конфиг, определенный в package.json.

  "main": "electron/main.js",
  "build": {
    "appId": "appid",
    "productName": "ProductName",
    "copyright": "Copyright @ 2019",
    "mac": {
      "category": "public.app-category.business"
    },
    "directories": {
      "buildResources": "electronBuildResources",
      "output": "electron-dist"
    }
  },

Во-первых, он не работает из-за этой ошибки Error: Unresolved node modules: worker-loader, webpack-cli.Но мне не нужно создавать какие-либо локальные ресурсы для приложения, зачем мне здесь Webpack?У меня даже нет Webpack в качестве моей зависимости, потому что NextJS обрабатывает все здание внутренне.

Я могу пропустить ошибку, используя ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true.Однако, когда он продолжается, он перестраивает некоторые из моих node_modules, и мне это не нужно.Мои main.js и preload.js имеют только require("electron") внутри, и никаких других deps.В каталоге окончательной сборки у меня также есть каталог node_modules с некоторыми пакетами.Но они мне тоже не нужны.

Вопрос в том, как мне упаковать только main.js и preload.js в минимальное приложение Electron, вообще не касаясь моего веб-приложения node_modules?

...