我有两个条件,一个是电子能够在电子打包之前提取文件。但是在打包电子文件后,我无法提取相同的文件。
例如,我使用path.resolve到父目录中存在的.ini文件。当我构建电子封装时,将在下面构建两个目录。而且我希望生成的程序包仍然使用相同的.ini文件。
path.resolve(__dirname,'../design.ini');
**Pre Package **
C:\cygwin64\home\xyz\Dev\xyz\abc\parent_dir\design.ini
**Post Package **
C:\cygwin64\home\xyz\Dev\xyz\abc\parent_dir\win64\abc\resources\app.asar\design.ini
请不要在启用asar的情况下进行构建,由于前后的路径不同,因此不会提取文件
答案 0 :(得分:1)
您尝试使用app.getPath()而不是if
吗?
答案 1 :(得分:1)
我使用`path.join``并指定内部资产的特定路径-因为我事先知道它并且不会改变:
var p1 = path.join(__dirname,'preferences", 'design.ini');
即使启用了asar
,也没有任何问题。