Javascript 如何获取nw.js可执行文件的当前目录

Javascript 如何获取nw.js可执行文件的当前目录,javascript,directory,nw.js,Javascript,Directory,Nw.js,创建nw.js可执行文件时,正在努力查找当前目录 我创建了一个混合html和Javascript以及大量node.js模块使用的Mac服务器应用程序。我有两个xml文件,服务器可以访问它们,它们与应用程序位于同一文件夹中 当我按如下方式运行应用程序时: ./nwjs.app/Contents/MacOS/nwjs。 并按如下方式查找当前目录: var workingFolder=process.cwd(); 那么我的工作文件夹就是应用程序和xml文件所在的文件夹 但是,如果我遵循“打包和分发”准

创建nw.js可执行文件时,正在努力查找当前目录

我创建了一个混合html和Javascript以及大量node.js模块使用的Mac服务器应用程序。我有两个xml文件,服务器可以访问它们,它们与应用程序位于同一文件夹中

当我按如下方式运行应用程序时: ./nwjs.app/Contents/MacOS/nwjs。 并按如下方式查找当前目录: var workingFolder=process.cwd(); 那么我的工作文件夹就是应用程序和xml文件所在的文件夹

但是,如果我遵循“打包和分发”准则(创建一个.nw文件,将其命名为app.nw,并放入contents/resources),然后运行.app可执行文件,我会将以下内容作为工作文件夹: /private/var/folders/3x/2hq40kzs59q8gj6yfn4ktj940000gn/T/.io.nwjs.nw.HcwnF2

我认为环境发生了变化。所以我一直在寻找其他方法来获取当前目录。我试过: var workingFolder=global.\uu dirname; 得到了同样的结果。然后: var workingFolder=process.env.PWD; 并且未定义(尽管这适用于“未打包”版本)

如何获取当前目录


任何想法都将不胜感激

节点Webkit将*.nw文件提取到临时目录,以便临时目录为当前工作目录。您可以使用并排打包(将package.json文件和nw.exe放在同一文件夹中而不进行压缩)方法将工作目录保留在nw和package.json文件所在的文件夹中。您可以使用以下命令获取当前路径

var path = require('path');
var nwPath = process.execPath;
var nwDir = path.dirname(nwPath);

对于Windows使用:
var path=require('path');dirname(process.execPath)


对于Mac和Linux,请使用:
global.\uu dirname

我尝试了你的建议,现在得到了以下信息:/Users/richardfoss/Documents/Immergo.app/Contents/Versions/50.0.2661.75/nwjs Helper.app/Contents/MacOSI将nwjs.app重命名为Immergo.app。我现在可以扫描这个字符串中的'Immergo.app'并提取当前目录。非常有用,谢谢,但是仍然想知道是否有一种方法可以不这样做而获取“launch”目录,并且想知道为什么要执行nwjsHelper。