Estoy tratando de recuperar la ubicación de la carpeta appdata para la aplicación, y dado que cada sistema operativo tiene una ruta separada para la carpeta appdata o de soporte de la aplicación, intenté recuperar el tipo de sistema operativo para especificar qué ruta usar. El problema es que os.platform() devuelve 'navegador'. He intentado ejecutarlo en Windows y Mac, pero todos devuelven el navegador. Si ejecuto process.platform en electron.js, me da el sistema operativo correcto, pero al reaccionar obtengo el navegador. ¿Cómo puedo obtener el sistema operativo adecuado?
En un navegador, puede usar una combinación de navigator.platform , navigator.userAgent y navigator.userAgentData.platform para obtener la información que desea, pero puede requerir algunas pruebas y análisis.
AFAIK, navigator.userAgentData.platform está disponible solo en navegadores basados en Chrome/Chromium, pero brinda el resultado más directo cuando está disponible.
Verificar qué plataforma está utilizando, en lugar de verificar funciones específicas, generalmente no se considera una buena idea, pero a veces me ha resultado difícil evitarlo, especialmente cuando trabajo con peculiaridades y errores específicos de la plataforma.
Esto se debe a que está ejecutando process.platform en el proceso de representación.
Para obtener el valor correcto, debe ejecutar platform.process en el proceso principal (generalmente el archivo background.js) o a través @electron/remote , así:
window.require('@electron/remote').process.platform El uso @electron/remote depende de su versión electrónica, le recomiendo que consulte @electron/remote readme .
¿Has intentado usar el app.getPath(name) de Electron?
Este método devolverá el directorio de datos de la aplicación de los usuarios.
Solo una vez que la aplicación esté "lista", podrá recuperar esta ruta.
// Electron module(s). const electronApp = require('electron').app; // Application is now ready to start. electronApp.on('ready', () => { // Get the users app data directory. let appData = electronApp.getPath('appData'); // Get the users home directory. let home = electronApp.getPath('home'); })