我在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");
});
如何才能使这个工作?包装过程后我的应用程序中是否可以包含一些额外的文件夹?谢谢你的帮助!
答案 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