【问题标题】:Get path of nw archive in node webkit application在 node webkit 应用程序中获取 nw 存档的路径
【发布时间】:2016-05-08 07:38:50
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

  • 很遗憾我现在无法尝试,但是来自 NodeJS API 的 process.argv 不包含存档名称?
  • 没有,很遗憾没有。我搜索了所有process 道具,找不到存档的名称。

标签: node-webkit


【解决方案1】:

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

优点:

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

缺点:

  • 磁盘上有更多文件

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

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

【讨论】:

    猜你喜欢
    • 2012-11-26
    • 2016-11-30
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多