储存应用数据时,通常会使用 应用程序所在目录 。即 userData 目录。 路径是这样的: C:\Users\【用户名】\AppData\Roaming\【应用名】
应用程序所在目录
userData
C:\Users\【用户名】\AppData\Roaming\【应用名】
可通过以下方法获取:app.getAppPath()
但某些情景。我希望某些数据存放在 打包后的当前路径 下。 即 应用名.exe 的同级目录下。 这时该怎么获取呢?
应用名.exe
使用 nodeJS 的被执行 js 文件的绝对路径: __dirname 。 返回: D:\【文件夹】\win-ia32-unpacked\resources\app.asar\dist\electron
__dirname
D:\【文件夹】\win-ia32-unpacked\resources\app.asar\dist\electron
使用 electron 文档中提到的:“当前应用程序所在目录”: app.getAppPath() 。 返回: D:\【文件夹】\win-ia32-unpacked\resources\app.asar
app.getAppPath()
D:\【文件夹】\win-ia32-unpacked\resources\app.asar
都不是想要的结果。
经过搜索,我找到了一个贴子: [ 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
process.execPath
D:\【文件夹】\build\win-ia32-unpacked\vsqx.exe
process.cwd()
D:\【文件夹】\build\win-ia32-unpacked