Una solución completa para empaquetar y crear una aplicación de Electron de distribución, Proton Native para MacOS, Windows y Linux con el soporte de "Actualización automática" fuera de la caja.
¡Siempre buscando contribuciones comunitarias! ? ¿Configurar un entorno de desarrollo es fácil de hacer?
| Notas, tareas, proyectos. Todo en un solo lugar. | |
Su puerta de enlace para comprender sus datos de diabetes | Una API de licencia y distribución de software abierta y disponible |
Todesktop: una plataforma todo en uno para construir y lanzar aplicaciones de electrones | ![]() |
Vea la documentación completa en Electron.build.
7z , zip , tar.xz , tar.7z , tar.lz , tar.gz , tar.bz2 , dir (directorio desempaquetado).dmg , pkg , mas .deb ), rpm , freebsd , pacman , p5p , apk .nsis (instalador), nsis-web (instalador web), portable (aplicación portátil sin instalación), APPX (tienda Windows), MSI, Squirrel.Windows.| Pregunta | Respuesta |
|---|---|
| "Quiero configurar Electron-Builder" | Ver opciones |
| "Encontré un error o tengo una pregunta" | Abrir un problema |
| "Quiero apoyar el desarrollo" | Donar |
El hilo se recomienda fuertemente en lugar de NPM.
yarn add electron-builder --dev
Para usar con pnpm , deberá ajustar su .npmrc para usar cualquiera de los siguientes enfoques para que sus dependencias se agrupen correctamente (Ref: #6389):
node-linker=hoisted
public-hoist-pattern=*
shamefully-hoist=true
Nota: Establecer vergonzosamente-Hoist a True es lo mismo que establecer el patrón público-Hoist a *.
Yarn 3 use PNP por defecto, pero Electron-Builder todavía necesita módulos de nodos (ref: yarnpkg/berry#4804). Agregue la configuración en el .yarnrc.yaml de la siguiente manera:
nodeLinker: "node-modules"
declarará usar modelos de nodo en lugar de PNP.
Electron-Webpack-Quick-start es una forma recomendada de crear una nueva aplicación de electrones. Ver Boilerplates.
Especifique los campos estándar en el package.json la aplicación.json - nombre, description , version y autor.
Especifique la configuración de compilación en el package.json de la siguiente manera:
"build" : {
"appId" : " your.id " ,
"mac" : {
"category" : " your.app.category.type "
}
} Ver todas las opciones. Archivos de opción para indicar qué archivos deben empaquetarse en la aplicación final, incluido el archivo de entrada, tal vez requerido. También puede usar archivos de configuración separados, como js , ts , yml y json / json5 . Vea el archivo de lectura-config para extensiones compatibles. Ejemplo de JS para API programática
Agregar iconos.
Agregue la tecla Scripts al package.json desarrollo.json:
"scripts" : {
"app:dir" : " electron-builder --dir " ,
"app:dist" : " electron-builder "
} Luego puede ejecutar yarn app:dist (para empacar en un formato distribuible (por ejemplo, DMG, instalador de Windows, paquete DEB)) o yarn app:dir (solo genera el directorio de paquetes sin realmente empaquetarlo. Esto es útil para fines de prueba).
Para garantizar que sus dependencias nativas siempre sean una versión de electrones, simplemente agregue el script "postinstall": "electron-builder install-app-deps" a su package.json .
Si tiene complementos nativos propios que forman parte de la aplicación (no como una dependencia), establezca NodeGyPreBuild en true .
Tenga en cuenta que todo está empaquetado en un archivo ASAR de forma predeterminada.
Para una aplicación que se enviará a la producción, debe firmar su aplicación. Vea dónde comprar certificados de firma de código.
Ver node_modules/electron-builder/out/index.d.ts . Se proporcionan tipos de mecanografiado y también se pueden encontrar aquí.
El fragmento de código proporcionado a continuación también se muestra "en acción" aquí también.
"use strict"
const builder = require ( "electron-builder" )
const Platform = builder . Platform
// Promise is returned
builder . build ( {
targets : Platform . MAC . createTarget ( ) ,
config : {
"//" : "build options, see https://goo.gl/QQXmcV"
}
} )
. then ( ( ) => {
// handle result
} )
. catch ( ( error ) => {
// handle error
} ) Establezca la variable de entorno DEBUG para depurar lo que Electron-Builder está haciendo:
DEBUG=electron-builder FPM_DEBUG ENV para agregar más detalles sobre el edificio de objetivos Linux (excepto Snap y Appimage).
DEBUG_DMG=true Env var agregar más depuración/verbosidad de hdiutil (macOS).
! Sugerencia "CMD" en Windows La variable de entorno se establece utilizando el comando set. bash set DEBUG=electron-builder
! PowerShell de consejos "PowerShell" utiliza diferentes sintaxis para establecer variables de entorno. bash $env:DEBUG=electron-builder
Hacemos este trabajo de código abierto en nuestro tiempo libre. Si desea que invertiéramos más tiempo en ello, done.