Приложение 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