在应用关闭之前,Linux fs.writeFileSync()不会写入文件

时间:2018-03-12 04:00:07

标签: javascript node.js fs

使用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中的运行按钮运行代码,我不确定这是否可能是原因,如果这是原因,那么就是这种情况。

1 个答案:

答案 0 :(得分:0)

添加选项{mode:0o777}作为写入中的最后一个arg,修复了不更新的文件。