电子修改文件存储在.asar中

时间:2018-06-11 15:08:57

标签: javascript electron asar

我想从Electron index.html文件中修改我的应用程序的.asar中存在的配置文件。在我的情况下,我需要更改我的应用程序数据库配置,以便工作。

我明白.asar在readOnly中我想知道是否有办法从电子修改此配置文件而不改变它在我的应用程序中的位置?

我看到了extraResources选项,但我不明白它是如何工作的。

配置文件保留在myapp / config文件夹中也很重要。

感谢您的帮助:)

5 个答案:

答案 0 :(得分:0)

  

asar是只读的

正如你所提到的那样,asar打算成为readonly包。对于运行时更改配置,您应将其放在asar之外并相应地更改值。

答案 1 :(得分:0)

您使用什么构建工具?如果您使用的是电子构建器,则可以在配置文件hereasarUnpack here

中查看extraFiles

答案 2 :(得分:0)

我能够通过首先以编程方式更改文件许可权然后编辑它来编辑只读文件。

fs.chmod(filename, 0666, (error) => {
        console.log('Changed file permissions');
    });

   ...
    code to modify file
   ...

答案 3 :(得分:0)

要管理设置,您应该使用专门为此设计的节点包,例如 electron-settingspreferences

作为替代方案,您可以手动读取您放置在平台本机配置目录中的写入配置文件。


可变应用程序设置不应存储在 asar 文件中。如果由于任何其他原因需要替换 asar 存档中的文件,请使用 asar 程序将整个存档解压缩到临时目录,替换所需的文件,然后创建一个新的 asar 文件,替换原来的asar文件。

答案 4 :(得分:0)

  • 解压 .asar 文件 -> asar extract electron.asar app

  • 根据需要修改

  • 打包 .asar 文件 -> asar pack . electron.asar