我在node.js脚本中创建了许多文件。
我为数百万个文件做了类似的事情:
if(!fs.existsSync(path)){
var empty = {};
fs.writeFileSync(path,JSON.stringify(empty,null,3));
}
var data = fs.readFileSync(path);
var file = JSON.parse(data);
file[aKey] = "someadata";
fs.unlinkSync(path);
fs.writeFileSync(path, JSON.stringify(file,null,3));
在某些地方,我尝试阅读文件
if(!fs.existsSync(previousPath)){
var file = {};
fs.writeFileSync(previousPath,JSON.stringify(file,null,3));
}
var data = fs.readFileSync(previousPath);
这在OSX上没有问题。但是在Ubuntu中的节点版本中,似乎同步方法并不总是同步的 - 有时node.js在尝试readFileSync时崩溃,说路径不存在(即使它应该存在,因为我打电话fs.writeFileSync就在它之前。)
ubuntu上的节点版本:v0.10.33 在mac:v0.13.0-pre有什么建议吗? v0.10.33似乎是ubuntu中存储库中的最新版本。