При упаковке приложения Electron в ASAR модуль не обнаружил ошибку - PullRequest
0 голосов
/ 01 июня 2019

У меня проблема с упаковкой приложения в один файл .asar. Я использую electron-builder, чтобы начать упаковку .asarfile. Если я не упаковываю приложение в asar, оно работает как положено, если я распаковываю сгенерированный asar, оно также работает как положено.

Однако, запуск электрона с использованием асара приводит к этой ошибке:

Error: Cannot find module './MyModuleBase' at Module._resolveFilename (internal/modules/cjs/loader.js:584:15)

Ранее asar работал без проблем, но мы провели некоторый рефакторинг в проекте, разбив код на новый модуль.

** Первоначальная конфигурация (рабочая ASAR) **

+--electron-application
  +--application

electron-application зависит от модуля application.

** Новая конфигурация (ASAR Broken) **

+--electron-application
  +--application
    +--application-core

electron-application зависит от модуля application, а application зависит от application-core MyModuleBase находится в модуле ядра приложения

Еще один момент, который может иметь значение: приложение упаковывается с помощью веб-пакета с помощью модуля веб-пакета.

Обновление: Я решил проблему, однако мне все еще хотелось бы знать, почему не работает версия .asar и будет работать извлечение файлов.

1 Ответ

0 голосов
/ 01 июня 2019

После углубления в это, похоже, коренная причина проблемы еще выше. Основной процесс ссылался на класс в application, однако основной процесс не упакован. Класс был перемещен в основной, и теперь все работает, как ожидалось. Похоже, что приложение Electron смогло разрешить файлы в распакованном состоянии, но не в упакованном состоянии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...