储存应用数据时,通常会使用 应用程序所在目录
。即 userData
目录。
路径是这样的:C:\Users\【用户名】\AppData\Roaming\【应用名】
可通过以下方法获取:app.getAppPath()
但某些情景。我希望某些数据存放在 打包后的当前路径 下。
即 应用名.exe
的同级目录下。
这时该怎么获取呢?
1、初步尝试
-
使用 nodeJS 的被执行 js 文件的绝对路径:
__dirname
。
返回:D:\【文件夹】\win-ia32-unpacked\resources\app.asar\dist\electron
-
使用 electron 文档中提到的:“当前应用程序所在目录”:
app.getAppPath()
。
返回:D:\【文件夹】\win-ia32-unpacked\resources\app.asar
都不是想要的结果。
2、找到答案
经过搜索,我找到了一个贴子:
[https://stackoverflow.com/questions/46307797/how-to-get-the-original-path-of-a-portable-electron-app][1]
[1]: https://stackoverflow.com/questions/46307797/how-to-get-the-original-path-of-a-portable-electron-app
使用
process.execPath
即可获取:D:\【文件夹】\build\win-ia32-unpacked\vsqx.exe
使用process.cwd()
即可获取:D:\【文件夹】\build\win-ia32-unpacked