我想从 Electron index.html 文件中修改我的应用程序的.asar 中存在的配置文件。就我而言,如有必要,我需要更改我的应用程序数据库配置才能工作。
我知道 .asar 是只读的,我想知道是否有办法从电子修改这个配置文件而不改变它在我的应用程序中的位置?
我看到了 extraResources 选项,但我不明白它是如何工作的。
配置文件保留在 myapp/config 文件夹中也很重要。
谢谢你的帮助 :)
我想从 Electron index.html 文件中修改我的应用程序的.asar 中存在的配置文件。就我而言,如有必要,我需要更改我的应用程序数据库配置才能工作。
我知道 .asar 是只读的,我想知道是否有办法从电子修改这个配置文件而不改变它在我的应用程序中的位置?
我看到了 extraResources 选项,但我不明白它是如何工作的。
配置文件保留在 myapp/config 文件夹中也很重要。
谢谢你的帮助 :)
我能够通过首先以编程方式更改文件权限然后对其进行编辑来编辑只读文件。
fs.chmod(filename, 0666, (error) => {
console.log('Changed file permissions');
});
...
code to modify file
...
asar 处于只读状态
as you mentioned asar intended to be readonly package. For runtime-changing config, you should place it outside of asar and change values accordingly.
To unpack .asar files -> asar extract electron.asar app
modify as per your needs
To pack .asar files -> asar pack . electron.asar
要管理设置,您应该使用专门为此设计的节点包,例如electron-settings
或preferences
.
作为替代方案,可以手动读取您放置在平台本机配置目录中的写入配置文件。
可变应用程序设置不应存储在 asar 文件中。如果出于任何其他原因需要替换 asar 存档中的文件,请使用该asar
程序将整个存档解压缩到临时目录,替换所需的文件,然后创建一个新的 asar 文件,替换原始 asar文件。