使用Windows我目前使用的代码:
var file = JSON.parse(fs.readFileSync(filePath), 'utf8');
file[id] = JSON.parse(`{"name":name}`);
fs.writeFileSync(filePath, JSON.stringify(file,null,2);
这在Windows上运行得很好。但是,当我将此代码传输到我的linux机器上进行跨平台测试时。在我停止运行应用程序之前,文件不会更新。
我尝试了什么:
运行' chmod -r 0777路径/到/ dir /'
和
检查是否是由于最大文件打开限制(不是因为我的限制非常大)
Linux:Mint-Linux 4.10.0-38-generic#42~16.04.1-Ubuntu(来自uname -a)
节点:8.10.0
编辑:intelliJ idea
我还直接从intelliJ中的运行按钮运行代码,我不确定这是否可能是原因,如果这是原因,那么就是这种情况。
答案 0 :(得分:0)
添加选项{mode:0o777}作为写入中的最后一个arg,修复了不更新的文件。