电子封装 - 如何写/读文件

时间:2017-09-03 21:02:59

标签: node.js electron

我在app的根目录中有文件test.txt。当我使用命令npm start运行我的应用程序时,我可以毫无问题地写入我的文件,但是当我使用电子打包器创建包时,不再可能将文本写入我的文件 - 我收到错误

Error: EACCES: permission denied, open './test.txt'

为此,我使用node.js文件系统:

fs.writeFile("./test.txt",text,function(err){

    if(err) {
        return alert(err);
    }

    alert("saved");

});

如何才能使这个工作?包装过程后我的应用程序中是否可以包含一些额外的文件夹?谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

没有真正发现问题是什么,所以我尝试了另一种解决方案,这对我有用(我的主要目的是将数据保存到app的本地内存中)。

我使用了npm包electron-store,它非常易于使用。

您可以通过在终端输入

来获取它
npm install electron-store

有关此处的更多信息:Electron store

希望它也可以帮助别人: - )

答案 1 :(得分:0)

a lot of options to choose to package your electron app in 2019,因此,如果您像我一样遇到这个问题并且正在使用电子生成器,请在下面尝试我的建议。

如果您使用electron-builder打包应用程序,并且需要读取/写入解决方案中存储的文件,则可以将其添加到{{ 1}}。此文件属性中的属性是打包电子应用程序-reference时复制的文件。

在我的示例中,我正在读取/写入 file.json

package.json

我的文件夹结构如下。

let fs = require("fs");

fs.writeFile("./file.json", "data to file", "utf-8", (error, data) => {
    if (error){
        console.error("error: " + error);
    }
});

打包后,我的应用程序无法运行,直到在parent-folder app/ assets/ configs/ images/ resources/ ... file.json 的“ build”属性中添加了以下 file.json

package.json