I am trying to create a desktop application with electron, angular2, typescript and neDB.In order to be able create a \'file\' database with neDB I want the path to my proje
If you're running a packaged app and you want to get the path to the app executable (NOT the main Node process index script path, which could be inside an ASAR), app.getAppPath()
is incorrect. You want app.getPath("exe")
, and to get the path it's:
require("path").dirname(require('electron').remote.app.getPath("exe"))
Here is what worked for me:
require('electron').remote.app.getAppPath()
Writing data to the application installation directory is generally a bad idea since the user running the app may not have permission to write files to that directory. What you should probably do instead is create the database file at the location returned by app.getPath('userData').
Use app.getAppPath()
Typescript is a superset of javascript so you could do it in the same way you would do it with javascript, though you may want to declare typings, or use other typescript features when you do so.
Example:
const remote = require('remote'),
app = remote.require('app');
var basepath = app.getAppPath();
Update - these days you should use:
const app = require('electron').remote.app
To get the app handle for app.getAppPath()
.