Одна вещь, которую вы можете сделать для Mac, - это вставить postinstallскрипт в ваш проект, который автоматически скопирует файл .icns на место в node_modules /.
Терал
Ответы:
164
Установка iconсвойства при создании BrowserWindowтолько влияет на Windows и Linux.
Чтобы установить значок в OS X, вы можете использовать электронный упаковщик и установить значок с помощью --iconпереключателя.
Он должен быть в формате .icns для OS X. Существует онлайн-конвертер иконок, который может создать этот файл из вашего .png.
Установка значка в BrowserWindow в файл .PNG будет отображаться на панели задач в Windows. Пример того, как это работает, можно найти в моем блоге здесь: mylifeforthecode.com/… Возможно, путь должен быть абсолютным, чтобы работать, поскольку я установил __dirname + 'path / to / icon.png'. Однако, чтобы установить значок для .exe, вам нужно будет использовать электронный пакет ИЛИ хакер ресурсов.
Шон Раковски
Можете ли вы исправить этот ответ, чтобы быть точным относительно Windows, пожалуйста?
Ана Беттс
Спасибо @ShawnRakowski, вы правы - я только что проверил это, и свойство icon действительно работает и в Windows. Я обновил свой ответ, чтобы отразить это.
Алекс Уоррен
1
Сначала это сработало, но потом я отправил распространяемое приложение своему другу, и оно не сработало! Любые идеи?
Чет
10
@ Ник, тебе нужно будет сделать что-то вроде следующегоelectron-packager . YourApplicationName --all --icon "path/to/my/icon.ico"
Матео
47
Ниже приведено решение, которое у меня есть:
mainWindow = new BrowserWindow({width: 800, height: 600,icon: __dirname + '/Bluetooth.ico'});
Кажется, это работает только для развития. Когда я запускаю 'yarn dist', файл icns заменяется электронным файлом по умолчанию.
Дэйв
2
@Dave На самом деле он сказал6. Enjoy your icon during *development* :-)
Mia
Ну, ребята ... Я знаю ... Но это исправление более 2 лет ... ;-) И кстати. Вы должны быть в состоянии использовать этот «хак» и в финальной сборке, так как вы просто меняете его в приложении dist ... Некоторое время не пытался .. И кто знает, может быть, есть официальный способ, сейчас ... ;-)
После сборки приложения вы можете увидеть иконки. Это решение не отображает значки в режиме разработчика. Я не настраиваю иконки в new BrowserWindow().
Помните, что в примерах пути к значку файла предполагается, что main.js находится в базовом каталоге. Если файл не находится в базовом каталоге приложения, указание пути должно учитывать этот факт.
Например, если файл main.js находится в подкаталоге src /, а значок - в assets / icons /, эта спецификация пути к значку будет работать:
postinstall
скрипт в ваш проект, который автоматически скопирует файл .icns на место в node_modules /.Ответы:
Установка
icon
свойства при созданииBrowserWindow
только влияет на Windows и Linux.Чтобы установить значок в OS X, вы можете использовать электронный упаковщик и установить значок с помощью
--icon
переключателя.Он должен быть в формате .icns для OS X. Существует онлайн-конвертер иконок, который может создать этот файл из вашего .png.
источник
electron-packager . YourApplicationName --all --icon "path/to/my/icon.ico"
Ниже приведено решение, которое у меня есть:
источник
.icns
не нужно ?Вы можете сделать это и для macOS. Хорошо, не через код, но с помощью нескольких простых шагов:
На самом деле это общая вещь, не специфичная для электрона. Вы можете изменить значок многих приложений MacOS, как это.
источник
6. Enjoy your icon during *development* :-)
Обновлен package.json:
После сборки приложения вы можете увидеть иконки. Это решение не отображает значки в режиме разработчика. Я не настраиваю иконки в
new BrowserWindow()
.источник
Электронный конструктор поддерживает иконки
источник
Если вы хотите обновить значок приложения на панели задач, то обновите следующее в main.js (если используете typcript, то main.ts)
__dirname
указывает на корневой каталог (тот же каталог, что иpackage.json
) вашего приложения.источник
Помните, что в примерах пути к значку файла предполагается, что main.js находится в базовом каталоге. Если файл не находится в базовом каталоге приложения, указание пути должно учитывать этот факт.
Например, если файл main.js находится в подкаталоге src /, а значок - в assets / icons /, эта спецификация пути к значку будет работать:
источник
электронно-упаковщик
Установка свойства значка при создании
BrowserWindow
только влияет на платформы Windows и Linux. Вы должны упаковать .icns для максЧтобы установить значок в OS X с помощью
electron-packager
, установите значок с помощью ключа --icon.Он должен быть в формате .icns для OS X. Существует онлайн-конвертер иконок, который может создать этот файл из вашего .png.
электронно-строитель
В качестве самого последнего решения я нашел альтернативу использованию
--icon
switch. Вот что вы можете сделать.build
в каталоге вашего проекта и поместите.icns
значок в каталог с именемicon.icns
.electron-builder --dir
.Вы увидите, что значок вашего приложения будет автоматически выбран из этого каталога и использован для приложения во время упаковки.
источник