获取node-webkit中当前应用程序的路径

And*_*een 8 node-webkit

在node-webkit中,有没有办法找到当前应用程序的路径?在node.js中,您可以使用__dirname查找当前应用程序的路径,但在node-webkit中,变量__dirname似乎未定义.

以下node.js脚本正确打印文件路径:

console.log(__dirname)

以下node-webkit脚本无法正确打印文件路径:

<script type = "text/javascript">
    alert(__dirname);
</script>
Run Code Online (Sandbox Code Playgroud)

在node-webkit中找到当前应用程序路径的正确方法是什么?

Rog*_*ang 5

这里讨论了这个问题的答案:https://groups.google.com/d/topic/node-webkit/IwGzluFC9iU/discussion

在Windows上,使用"process.execPath"查看启动它的可执行文件的路径.然后从那里开始工作,从路径中删除可执行文件的文件名以获取文件夹的路径(假设你的应用程序的.nw是相对于可执行文件或与之结合).

无论是使用压缩的'app.nw'运行还是将'nw.exe'和'app.nw'组合到一个可执行文件(app.exe)中,这对我有用.


Eri*_*oia 5

接受的答案的链接不再可用,所以这里有一个简短的答案:

每次运行时,nw.js都会将应用程序的内容提取到临时目录中.

如果要访问nw.js提取应用程序的路径,请使用 process.cwd()

在其他原因中,您要访问可执行应用程序的路径,请使用:

var path = require('path');
var nwDir = path.dirname(process.execPath);
Run Code Online (Sandbox Code Playgroud)