Una cosa que puede hacer para Mac es colocar un postinstallscript en su proyecto que copiará el archivo .icns en su lugar en node_modules / automáticamente.
theram
Respuestas:
164
Establecer la iconpropiedad al crear el BrowserWindowúnico tiene un efecto en Windows y Linux.
Para configurar el icono en OS X, puede usar el paquete electrónico y configurar el icono con el --iconinterruptor.
Deberá estar en formato .icns para OS X. Hay un convertidor de iconos en línea que puede crear este archivo desde su .png.
Establecer el ícono en BrowserWindow en un archivo .PNG se mostrará en la barra de tareas en Windows. Puede encontrar un ejemplo de cómo funciona en mi blog aquí: mylifeforthecode.com/… Puede ser que la ruta deba ser absoluta para que funcione, ya que la configuré en __dirname + 'ruta / a / icon.png'. Sin embargo, para configurar el ícono para el .exe necesitará usar un paquete electrónico o un hacker de recursos.
Shawn Rakowski
¿Puedes arreglar esta respuesta para que sea precisa?
Ana Betts
Gracias @ShawnRakowski, tienes razón: acabo de probar esto y la propiedad del icono también funciona en Windows. He actualizado mi respuesta para reflejar esto.
Alex Warren
1
Esto funcionó al principio, pero luego envié la aplicación distribuible a mi amigo y no funcionó. ¿Algunas ideas?
Chet
10
@Nick, tendrás que hacer algo como lo siguienteelectron-packager . YourApplicationName --all --icon "path/to/my/icon.ico"
Mateo
47
A continuación se muestra la solución que tengo:
mainWindow = new BrowserWindow({width: 800, height: 600,icon: __dirname + '/Bluetooth.ico'});
Esto parece funcionar solo para el desarrollo. Cuando ejecuto 'yarn dist', el archivo icns se reemplaza con el electrón predeterminado.
Dave
2
@Dave En realidad, dijo6. Enjoy your icon during *development* :-)
Mia
Bueno chicos ... Lo sé ... Pero esta solución tiene más de 2 años ... ;-) Y por cierto. deberías poder usar este "hack" también en una versión final, ya que simplemente lo cambias en la aplicación dist ... No lo he intentado por un tiempo ... Y quién sabe, tal vez hay una forma oficial, ahora ... ;-)
Después de compilar la aplicación, puede ver iconos. Esta solución no muestra iconos en modo desarrollador. No configuro iconos en new BrowserWindow().
Tenga en cuenta que los ejemplos de la ruta del archivo de icono tienden a suponer que main.js está bajo el directorio base. Si el archivo no está en el directorio base de la aplicación, la especificación de ruta debe tener en cuenta ese hecho.
Por ejemplo, si main.js está bajo el subdirectorio src /, y el ícono está bajo assets / icons /, esta especificación de ruta de ícono funcionará:
Establecer la propiedad del icono al crear el BrowserWindowúnico tiene un efecto en las plataformas Windows y Linux. tienes que empacar los .icns para max
Para configurar el icono en OS X usando electron-packager, configure el icono usando el interruptor --icon.
Deberá estar en formato .icns para OS X. Hay un convertidor de iconos en línea que puede crear este archivo desde su .png.
constructor de electrones
Como solución más reciente, encontré una alternativa para usar el --iconinterruptor. Esto es lo que puedes hacer.
Cree un directorio con nombre builden el directorio de su proyecto y coloque .icnsel icono en el directorio con el nombre icon.icns.
Ejecute el generador ejecutando el comando electron-builder --dir.
Encontrará que el ícono de su aplicación se recogerá automáticamente de esa ubicación de directorio y se usará para una aplicación mientras se empaqueta.
Nota : La respuesta dada es para la versión reciente electron-buildery probada con electron-builder v21.2.0
postinstall
script en su proyecto que copiará el archivo .icns en su lugar en node_modules / automáticamente.Respuestas:
Establecer la
icon
propiedad al crear elBrowserWindow
único tiene un efecto en Windows y Linux.Para configurar el icono en OS X, puede usar el paquete electrónico y configurar el icono con el
--icon
interruptor.Deberá estar en formato .icns para OS X. Hay un convertidor de iconos en línea que puede crear este archivo desde su .png.
fuente
electron-packager . YourApplicationName --all --icon "path/to/my/icon.ico"
A continuación se muestra la solución que tengo:
fuente
.icns
innecesario ?También puedes hacerlo para macOS. Ok, no a través del código, sino con algunos pasos simples:
En realidad es algo general no específico del electrón. Puede cambiar el ícono de muchas aplicaciones macOS como esta.
fuente
6. Enjoy your icon during *development* :-)
Package.json actualizado :
Después de compilar la aplicación, puede ver iconos. Esta solución no muestra iconos en modo desarrollador. No configuro iconos en
new BrowserWindow()
.fuente
El constructor de electrones admite iconos
fuente
Si desea actualizar el ícono de la aplicación en la barra de tareas, luego Actualice lo siguiente en main.js (si usa typecript, entonces main.ts)
__dirname
apunta al directorio raíz (el mismo directorio quepackage.json
) de su aplicación.fuente
Tenga en cuenta que los ejemplos de la ruta del archivo de icono tienden a suponer que main.js está bajo el directorio base. Si el archivo no está en el directorio base de la aplicación, la especificación de ruta debe tener en cuenta ese hecho.
Por ejemplo, si main.js está bajo el subdirectorio src /, y el ícono está bajo assets / icons /, esta especificación de ruta de ícono funcionará:
fuente
empaquetador de electrones
Establecer la propiedad del icono al crear el
BrowserWindow
único tiene un efecto en las plataformas Windows y Linux. tienes que empacar los .icns para maxPara configurar el icono en OS X usando
electron-packager
, configure el icono usando el interruptor --icon.Deberá estar en formato .icns para OS X. Hay un convertidor de iconos en línea que puede crear este archivo desde su .png.
constructor de electrones
Como solución más reciente, encontré una alternativa para usar el
--icon
interruptor. Esto es lo que puedes hacer.build
en el directorio de su proyecto y coloque.icns
el icono en el directorio con el nombreicon.icns
.electron-builder --dir
.Encontrará que el ícono de su aplicación se recogerá automáticamente de esa ubicación de directorio y se usará para una aplicación mientras se empaqueta.
fuente