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



使用Windows我目前使用的代码:

var file = JSON.parse(fs.readFileSync(filePath), 'utf8');
file[id] = JSON.parse(`{"name":name}`);
fs.writeFileSync(filePath, JSON.stringify(file,null,2);

这在窗户上工作得很好。但是,当我将此代码传输到我的 linux 机器上进行跨平台测试时。在我停止运行应用程序之前,该文件不会更新。

我尝试过:

运行 'chmod -r 0777 路径/到/目录/'

检查是否是由于最大文件打开限制(不是这种情况,因为我的限制非常大(

Linux: Mint-Linux 4.10.0-38-generic #42~16.04.1-Ubuntu (来自 uname -a(

节点:8.10.0

编辑:智能创意

我也直接从 intelliJ 中的运行按钮运行代码,我不确定这是否是原因,如果是原因,为什么会这样。

添加选项 {mode: 0o777} 作为写入中的最后一个参数修复了文件未更新的问题。

最新更新