node-webkit里使用process.pwd()获取当前路径问题?
发布于 11 年前 作者 shaman 9425 次浏览 最后一次编辑是 8 年前

这个是我项目在我本地电脑上的根目录 E:\fetool

E:\fetool\index.html 有如下代码:

<p>当前路径:<span id="dir"></span></p>
<script>
  var __dir__ = process.cwd();
  document.getElementById('dir').innerHTML = __dir__;
</script>

没有打包前我直接在控制台运行:

000810[@CH000810-2](/user/CH000810-2) /e/fetool (master)
$ nw

输出的是

当前路径:e:\fetool

然后我将项目打包后放在 E:\fetool\dist 目录里, 目录里有可执行文件 E:\fetool\dist\fetool.exe 我双击运行后页面输出的却是另外一个目录,如下:

当前路径:C:\Users\000810\AppData\Local\Temp\nw7284_27665

而且最后一个 nw7284_27665 每次都会变,我是希望我双击 fetool.exe 的时候输出的路径是

当前路径:e:\fetool\dist

这个时候是不能用 process.cwd() 来获取当前路径吗?

5 回复

process.execPath可以获取执行的exe的位置

__dirname 是当前路径, 可以试下

非常感谢,确实可以获取到可执行文件的位置,自己处理下可以达到要求获取的路径

嗯,非常感谢,尝试了下 __dirname ,它不是全局的,是模块本地的,只能写在node模块内部, 不能直接在node-webkit的页面中书写,如果要使用它,得通过模块包装一下获取到当前可执行文件的位置。

还是只能用 process.execPath 来解决了 , 用 __dirname 打包后获取到的仍旧是一个类似

C:\Users\000810\AppData\Local\Temp\nw7284_27665

这样的目录

回到顶部