如何获取应用程序是 运行 typescript 的路径?
How can I get the path that the application is running with typescript?
我正在尝试使用 electron、angular2、typescript 和 neDB.In 创建一个桌面应用程序,以便能够使用 neDB 创建一个 'file' 数据库 我想要 project.How 的路径我可以用打字稿得到这个吗?
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;
我正在尝试使用 electron、angular2、typescript 和 neDB.In 创建一个桌面应用程序,以便能够使用 neDB 创建一个 'file' 数据库 我想要 project.How 的路径我可以用打字稿得到这个吗?
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;