【发布时间】:2019-06-14 07:37:54
【问题描述】:
我有一个电子应用程序,当我构建它以进行分发时,实际的应用程序代码和构建文件夹位于 app.asar 文件中。在应用程序运行时,我必须将 app.asar 中的某些文件复制到用户的计算机上,无论用户选择何处,并使用代码进行修改。
问题是,每当复制文件时,它就会变成只读的,因此我无法写入它。有什么办法处理吗?
【问题讨论】:
标签: javascript node.js electron
我有一个电子应用程序,当我构建它以进行分发时,实际的应用程序代码和构建文件夹位于 app.asar 文件中。在应用程序运行时,我必须将 app.asar 中的某些文件复制到用户的计算机上,无论用户选择何处,并使用代码进行修改。
问题是,每当复制文件时,它就会变成只读的,因此我无法写入它。有什么办法处理吗?
【问题讨论】:
标签: javascript node.js electron
我也遇到了这个问题,我认为问题在于只有一些fs 方法被移植到与asar 一起工作。根据docs,
通过 Electron 中的特殊补丁,
fs.readFile和require等 Node API 将asar归档视为虚拟目录,并将其中的文件视为文件系统中的普通文件。
因此,我认为解决方案是使用fs.readFile 手动从asar 复制文件的内容,然后将其转储到您想要的文件中。我今天会试试这个,并希望发布一些代码的更新。
【讨论】: