ElectronJS es un marco de código abierto que se utiliza para crear aplicaciones de escritorio nativas multiplataforma utilizando tecnologías web como HTML, CSS y JavaScript que pueden ejecutarse en los sistemas operativos Windows, macOS y Linux. Combina el motor Chromium y NodeJS en un solo tiempo de ejecución.
Ya hemos discutido los argumentos de la línea de comandos en ElectronJS . Los argumentos de la línea de comandos son importantes porque se pueden usar para controlar el comportamiento de la aplicación. Podemos pasar argumentos de la línea de comandos a Electron desde fuera de la aplicación durante el lanzamiento o simplemente podemos codificar estos valores dentro de la aplicación. Las variables de entorno en Electron también controlan la configuración y el comportamiento de la aplicación sin cambiar el código. Algunos comportamientos específicos en Electron están controlados por variables de entorno en lugar de argumentos de la línea de comandos porque se inicializan antes que las banderas de la línea de comandos y el código de la función principal de la aplicación. En este tutorial, veremos las diferentes variables de entorno utilizadas por Electron y sus respectivas clasificaciones.
Suponemos que está familiarizado con los requisitos previos que se describen en el enlace mencionado anteriormente. Para que Electron funcione, node y npm deben estar preinstalados en el sistema.
Como se mencionó anteriormente, en caso de que codifiquemos indicadores de línea de comandos dentro de la aplicación, debemos importar la propiedad CommandLine del módulo de la aplicación , pero no necesitamos ningún cambio de código adicional para configurar las variables de entorno en Electron. Sin embargo, dado que Electron también es compatible con el objeto de proceso global , también podemos establecer las variables de entorno a través del código. Por ejemplo:
process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE'
Para obtener más detalles sobre el objeto de proceso , siga Objeto de proceso en ElectronJS . Hay dos tipos principales de variables de entorno proporcionadas por Electron:
- Variables de desarrollo
- Variables de producción
Las variables del entorno de desarrollo, como sugiere su nombre, están destinadas principalmente a fines de desarrollo y depuración dentro de la aplicación.
- ELECTRON_ENABLE_LOGGING: esta variable de entorno se establece en true , imprime el registro interno de Chromium en la consola de la aplicación.
- ELECTRON_LOG_ASAR_READS: cuando Electron lee de un archivo ASAR, si esta variable de entorno se establece en true , registra el desplazamiento de lectura y la ruta del archivo en el sistema tmpdir . El archivo resultante se puede proporcionar al módulo ASAR para optimizar el orden de los archivos, lo que mejora el rendimiento de la aplicación Electron y reduce la carga de los recursos del sistema. Un archivo ASAR es un formato similar al alquitrán simple que concatena archivos en un solo archivo. El electrón puede leer archivos arbitrarios sin descomprimir el archivo completo. Esta variable de entorno se introdujo en las versiones posteriores de Electron.
- ELECTRON_ENABLE_STACK_DUMPING: esta variable de entorno se establece en true , luego imprime el seguimiento de la pila de errores en la consola cuando la aplicación Electron falla. Esta variable de entorno no funcionará si se inicia crashReporter . El módulo crashReporter en Electron es responsable de enviar informes de fallas a un servidor remoto. Para más detalles sobre el módulo crashReporter .
- ELECTRON_DEFAULT_ERROR_MODE: esta variable de entorno solo se admite en el sistema operativo Windows . Esta variable de entorno se establece en true , muestra el cuadro de diálogo de bloqueo del sistema operativo de Windows cuando la aplicación Electron falla. Al igual que ELECTRON_ENABLE_STACK_DUMPING , esta variable de entorno no funcionará si se inicia el CrashReporter .
- ELECTRON_OVERRIDE_DIST_PATH: cuando se ejecuta la aplicación desde un archivo empaquetado en el entorno de desarrollo, esta variable de entorno le dice a Electron que use la compilación especificada de Electron en lugar de la descargada por npm install . Esta variable de entorno toma una ruta de archivo de string, donde la compilación específica de Electron se almacena en el sistema nativo. Esto es especialmente útil cuando hemos realizado nuestros propios cambios en el código fuente del paquete Electron original descargado.
Las variables de entorno de producción, como sugiere su nombre, están destinadas principalmente para su uso en tiempo de ejecución en aplicaciones de Electron empaquetadas. Estas variables de entorno son especialmente útiles cuando se implementa la aplicación Electron empaquetada en un servidor diferente en un entorno de producción.
- NODE_OPTIONS: dado que Electron combina NodeJS y Chromium en un tiempo de ejecución único, Electron incluye soporte para un subconjunto de variables de entorno NodeJS NODE_OPTIONS . La mayoría de las opciones proporcionadas son compatibles con Electron, con la excepción de aquellas que entran en conflicto con el uso de BoringSSL por parte de Chromium . BoringSSL es una bifurcación de OpenSSL diseñada para satisfacer las necesidades de Google. OpenSSL es un conjunto de herramientas robusto, de calidad comercial y con todas las funciones para los protocolos Transport Layer Security (TLS) y Secure Sockets Layer (SSL) en HTTP. También es una biblioteca de criptografía de propósito general.
Podemos proporcionar múltiples opciones a NODE_OPTIONSVariable ambiental. Las opciones no admitidas son:- –use-bundled-ca
- –fuerza-fips
- –habilitar-fips
- –openssl-config
- –use-openssl-ca
- –max-http-header-size
- –http-parser
- GOOGLE_API_KEY: muchos de los servicios de Google requieren que se genere una API_KEY para ese proyecto en particular para que ese usuario en particular pueda acceder a los servicios desde dentro de la aplicación. Por ejemplo, la compatibilidad con geolocalización en Electron requiere el uso del servicio web de geolocalización de Google Cloud Platform. Para habilitar esta función, necesitamos adquirir una clave API de Google. Esta clave generalmente está codificada dentro de la aplicación Electron y, dado que esta clave API se incluye en cada versión de Electron para cada sesión válida, a menudo excede su cuota de uso. Para evitar esto, debemos agregar la clave API como parte del entorno. Podemos hacerlo colocando el siguiente código en el archivo de proceso principal, antes de abrir cualquier ventana de aplicación o función que realice requests de servicios de Google:
process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE'
- También podemos configurar esta variable de entorno desde fuera de la aplicación para que sea válida para cada nueva sesión de requests de servicios de Google hasta que caduque.
- ELECTRON_RUN_AS_NODE: esta variable de entorno se establece en true , inicia el proceso Electron como un proceso normal de NodeJS .
- ELECTRON_NO_ASAR: esta variable de entorno se establece en verdadero , deshabilita la compatibilidad con ASAR para la aplicación Electron. Esta variable solo se admite en procesos secundarios bifurcados y procesos secundarios generados que también establecen la variable de entorno ELECTRON_RUN_AS_NODE .
- ELECTRON_NO_ATTACH_CONSOLE: esta variable de entorno solo se admite en el sistema operativo Windows. Esta variable de entorno se establece en true , no adjunta los registros de la consola a la sesión de consola actual. Por lo tanto, no se imprimirán registros desde la aplicación.
- ELECTRON_FORCE_WINDOW_MENU_BAR: esta variable de entorno solo se admite en el sistema operativo Linux. Esta variable de entorno se establece en true , no utiliza la barra de menú global en la plataforma Linux para la aplicación Electron.
- ELECTRON_TRASH: esta variable de entorno solo se admite en el sistema operativo Linux. Esta variable de entorno establece la implementación de la papelera en la plataforma Linux. El valor predeterminado establecido para esta variable de entorno es gio . Puede contener los siguientes valores:
- gvfs-basura
- basura-cli
- kiocliente5
- kiocliente
Además de las variables del entorno de producción y desarrollo , hay algunas variables que Electron establece en el entorno del sistema nativo en tiempo de ejecución.
- ORIGINAL_XDG_CURRENT_DESKTOP: esta variable se establece en el valor de XDG_CURRENT_DESKTOP con el que se lanzó originalmente su aplicación. Electron a veces modifica el valor de XDG_CURRENT_DESKTOP para afectar otra lógica dentro de Chromium. Entonces, si queremos acceder al valor original, deberíamos buscar esta variable de entorno en su lugar. Las variables de entorno XDG_CURRENT_DESKTOP le informan qué entorno de escritorio se está utilizando actualmente. Esta variable difiere con diferentes sistemas operativos y diferentes plataformas. Esta variable también es utilizada por otros procesos y aplicaciones además de Electron y es una variable de entorno del sistema.
Ejemplo de uso de configuración de variables de entorno para electrones en
- Consola de Windows :
~$ set ELECTRON_ENABLE_LOGGING=true
- Cáscara POSIX :
~$ export ELECTRON_ENABLE_LOGGING=true
Producción:
Nota: estas variables de entorno se restablecen y deben configurarse nuevamente cada vez que reiniciamos la computadora. Si queremos evitarlo, debemos agregar estas variables de entorno con sus respectivos valores a los archivos .bashrc . .bashrc es un script de shell que Bash ejecuta cada vez que se inicia de forma interactiva. Inicializa una sesión de shell interactiva. Podemos poner cualquier comando en ese archivo que pudiéramos escribir en el símbolo del sistema, y no se restablecerán, como en este caso, las variables de entorno de Electron.
Publicación traducida automáticamente
Artículo escrito por radheshkhanna y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA