在节点webkit应用程序中获取nw存档的路径

时间:2016-01-30 15:44:26

标签: node-webkit

我正在使用nwjs(node webkit)构建多个应用程序 我的应用程序将使用相同的nw运行时,在同一台机器上安装多个nw实例是没有效率和无用的。

目前,我正在使用指向nw可执行文件的shell脚本启动我的应用程序,并将路径作为参数传递给我的.nw存档。

应用程序位于不同的文件夹中,而不是与nw可执行文件位于同一文件夹中。

到目前为止没有任何问题,但其中一个客户端请求是自动更新。为了做到这一点,我需要下载一个包含应用程序源的新的nw存档,并用新的存档替换旧的存档。

我遇到的问题是无法在正在运行的应用中找到存档路径。 以下命令失败:

  • process.cwd() - 指向临时文件夹中的解包存档。
  • process.execPath - 指向nw可执行文件

所有其他尝试(即window.location等)都失败,因为所有尝试都指向应用程序运行的解压缩文件。

有没有办法获取原始档案(nw文件)的路径?

1 个答案:

答案 0 :(得分:0)

我建议为每个项目安装nw.js作为本地模块:npm install nw --save。然后,您可以使用npm start命令运行项目,假设package.json中有"start": "./node_modules/.bin/nw"脚本。

优点:

  • 您可以为每个项目选择nw.js版本和构建类型(SDK / Normal)
  • 您可以随时更新nw.js
  • 您可以将整个项目打包到Windows / OSX / Linux安装程序

缺点:

  • 磁盘上的更多文件

Bonus:如果您想以编程方式检索nw.js二进制文件的路径,请使用:

var findpath = require('nw').findpath;
var nwpath = findpath();