Электрон + Угловой CLI, как упаковать dist с электронным упаковщиком

У меня есть Electron а также Anguarjs CLI приложение, которое я хочу распространять.

После запуска ng build --prod Я получаю dist каталог, который ~1Mb. Однако после запуска electron-packager . приложение составляет ~350 МБ.

У меня есть мой электрон main.js установить, чтобы указать на index.html из dist, но я предполагаю, что команда package не использует dist чтобы построить приложение, а скорее раздутая версия разработчика. Я пробовал бегать electron-packager . изнутри dist, он по-прежнему создает огромное приложение.

Есть ли способ упаковать dist папка? Стоит ли использовать другой упаковочный инструмент?

Моя цель состоит в том, чтобы упаковать приложение так, чтобы не распределять ширину полосы.

1 ответ

Решение

От electron-packager readme.md:

Будьте осторожны, чтобы не включать в конечное приложение ненужные вам модули. Если вы поместите их в раздел devDependencies файла package.json, по умолчанию ни один из модулей, связанных с этими зависимостями, не будет скопирован в пакеты приложения.

Угловой CLI использует webpack внутренне, чтобы связать ваш код. Чтобы уменьшить размер электронного пакета, все, что уже связано с веб-пакетом, который в настоящее время находится в вашем dependencies раздел вашего package.json может пойти в devDependencies раздел вместо. Это помешает electron-packager от комплектации любого node_modules код, на который вы на самом деле не ссылаетесь из-за того, что webpack уже извлек его при объединении выходных блоков в вашем dist папка.

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