Búsqueda de sitios web

electron - ¿Cómo puedo obtener la ruta con la que se está ejecutando la aplicación usando TypeScript?


Estoy tratando de crear una aplicación de escritorio con Electron, Angular2, TypeScript y neDB. Para poder crear una base de datos 'file' con neDB, quiero la ruta a mi proyecto. ¿Cómo puedo obtener esto con TypeScript?

Respuesta #1

Usa app.getAppPath()

Typescript es un superconjunto de javascript, por lo que podrías hacerlo de la misma manera que lo harías con javascript, aunque podrías querer declarar tipos, o usar otras características de typescript cuando lo hagas.

Ejemplo :

const remote = require('remote'), 
      app = remote.require('app');

var basepath = app.getAppPath();

Actualización: estos días deberías usar:

const app = require('electron').remote.app

Para obtener el identificador de la aplicación para app.getAppPath().

Respuesta #2

Escribir datos en el directorio de instalación de la aplicación generalmente es una mala idea, ya que el usuario que ejecuta la aplicación puede no tener permiso para escribir archivos en ese directorio. Lo que probablemente deberías hacer en su lugar es crear el archivo de la base de datos en la ubicación devuelta por app.getPath('userData').

Respuesta #3

Si estás ejecutando una aplicación empaquetada y quieres obtener la ruta al ejecutable de la aplicación (NO la ruta del script principal del proceso Node, que podría estar dentro de un ASAR), app.getAppPath() es incorrecto. Quieres app.getPath("exe"), y para obtener la ruta es:

require("path").dirname(require('electron').remote.app.getPath("exe"))

Artículos relacionados