如何获取应用程序是 运行 typescript 的路径?

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

我正在尝试使用 electron、angular2、typescript 和 neDB.In 创建一个桌面应用程序,以便能够使用 neDB 创建一个 'file' 数据库 我想要 project.How 的路径我可以用打字稿得到这个吗?

使用app.getAppPath()

Typescript 是 javascript 的超集,因此您可以使用与 javascript 相同的方式来完成它,尽管您可能想要声明类型,或者在您使用其他类型脚本功能时这样做。

示例:

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

var basepath = app.getAppPath();

更新 - 这些天你应该使用:

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

获取 app.getAppPath() 的应用句柄。

将数据写入应用程序安装目录通常不是一个好主意,因为用户运行应用程序可能没有权限将文件写入该目录。您可能应该做的是在 app.getPath('userData').

返回的位置创建数据库文件

以下是对我有用的方法:

require('electron').remote.app.getAppPath()

如果您是 运行 打包的应用程序并且您想要获取应用程序可执行文件的路径(不是主节点进程索引脚本路径,它可能在 ASAR 中),app.getAppPath() 是不正确的。您想要 app.getPath("exe"),并获取它的路径:

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

如果这对某人有帮助,我下载了 npm 包 electron-root-path,它在我的情况下工作得很好。

// Import ES6 way
import { rootPath } from 'electron-root-path';
 
// Import ES5 way
const rootPath = require('electron-root-path').rootPath;