Приложение React Electron, созданное с помощью asar на gitlab runner, создает ошибки JavaScript

Я просто начну свой вопрос немного структурированный:

исходная информация

  • Я разрабатываю приложение React с Electron на моем Mac.
  • Клиент использует это приложение на Windows 7 и 10.
  • Приложение упаковано с Asar на Gitlab Runner в докере
  • докер-файл для бегуна от electronuserland/builder:base

Что работает?

  • Если я запускаю приложение локально, я запускаю скрипт сборки npm и запускаю электрон -> Приложение работает отлично!
  • Если я упаковываю приложение локально (на моем Mac) для Windows и копирую.exe на мою виртуальную машину: -> Приложение работает нормально!

Что не работает?

Если мой конвейер запускается моим коммитом, бегун gitlab начинает запускать buildscript и скрипт пакета (те же, которые я запускаю локально для упаковки и запуска моего приложения). Сборка "успешно" завершена, и артефакты сохраняются в gitlab.

Затем я загружаю.exe из артефактов gitlab на свою виртуальную машину Windows и устанавливаю программное обеспечение. Это абсолютно нормально работает. Приложение может запуститься, и некоторые функции работают довольно хорошо. Но есть проблема с пакетом (или, может быть, еще, я еще не знаю) Это react-bootstrap-daterangepicker, Это дает мне ошибку JS с $this.$picker.daterangepicker is not a functionЯ много гуглил и нашел существующие проблемы с пакетом, но я не понимаю, почему он работает, когда я упаковываю приложение локально, а не с бегуном.

Я полностью удалил свои узлы-модули на локальном компьютере и переустановил их, и он все еще работает нормально.

Есть ли у вас какие-либо идеи? Где может быть разница между моей локальной средой и средой бегуна, которая может вызвать такую ​​проблему?

Я застрял в этой проблеме, и вы были бы моим героем, если бы вы могли помочь мне исправить это!

Хорошего дня!

0 ответов

electron-builder рекомендует использовать electronuserland/builder:wineдля создания целей Windows. Я не уверен, что это решит проблему, но не могли бы вы вместо этого попробовать использовать это изображение?

electronuserland/builder:wine — Wine, NodeJS 10 and required system dependencies. Based on builder:10. Use this image if you need to build Windows targets.

Для получения дополнительной информации: https://www.electron.build/multi-platform-build

Другие вопросы по тегам