为什么从Asar复制文件是只读的?

时间:2019-06-14 07:37:54

标签: javascript node.js electron

我有一个电子应用程序,当我构建它进行分发时,实际的应用程序代码和构建文件夹位于app.asar文件中。在应用运行时,我必须将app.asar中的某些文件复制到用户的计算机上,无论用户选择何处,并使用代码进行修改。

问题在于,每当复制文件时,该文件将变为只读状态,因此无法对其进行写入。有什么办法解决吗?

1 个答案:

答案 0 :(得分:1)

我也遇到了这个问题,我认为问题是只有某些fs方法被移植到了asar才能很好地工作。根据{{​​3}}

  

借助Electron中的特殊补丁,fs.readFilerequire之类的Node API将asar存档视为虚拟目录,并将其中的文件视为文件系统中的普通文件。

因此,我认为解决方案是使用asarfs.readFile手动复制文件的内容,然后将其转储到所需的文件中。我今天将尝试使用此方法,并希望发布包含一些代码的更新。