How can I get the path that the application is running with typescript?

前端 未结 4 967
孤独总比滥情好
孤独总比滥情好 2020-12-29 05:32

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

相关标签:
4条回答
  • 2020-12-29 06:03

    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"))
    
    0 讨论(0)
  • 2020-12-29 06:15

    Here is what worked for me:

    require('electron').remote.app.getAppPath()
    
    0 讨论(0)
  • 2020-12-29 06:16

    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').

    0 讨论(0)
  • 2020-12-29 06:22

    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().

    0 讨论(0)
提交回复
热议问题