electron - Hvordan kan jeg få stien som applikasjonen kjører med TypeScript?
Jeg prøver å lage en skrivebordsapplikasjon med Electron, Angular2, TypeScript og neDB. For å kunne lage en 'fil'-database med neDB ønsker jeg stien til prosjektet mitt. Hvordan kan jeg få dette med TypeScript?
Svar #1
Bruk app.getAppPath()
Typescript er en superset av javascript, så du kan gjøre det på samme måte som du ville gjort det med javascript, selv om du kanskje vil erklære typer eller bruke andre typescript-funksjoner når du gjør det.
Eksempel :
const remote = require('remote'),
app = remote.require('app');
var basepath = app.getAppPath();
Oppdatering - i disse dager bør du bruke:
const app = require('electron').remote.app
For å få app-håndtaket for app.getAppPath().
Svar #2
Å skrive data til applikasjonens installasjonskatalog er vanligvis en dårlig idé siden brukeren som kjører appen kanskje ikke har tillatelse til å skrive filer til den katalogen. Det du sannsynligvis burde gjøre i stedet, er å opprette databasefilen på stedet som returneres av app.getPath('userData').
Svar #3
Hvis du kjører en pakket app og du vil få banen til appens kjørbare fil (IKKE hoved Node-prosessens indekskriptbane, som kan være inne i en ASAR), er app.getAppPath() feil. Du vil bruke app.getPath("exe"), og for å få banen er det:
require("path").dirname(require('electron').remote.app.getPath("exe"))
