fs.open 文件扩展名失败 - node.js

fs.open fails with file extension - node.js

我有以下代码:

fs.open("uploads/test.txt", "a", "0755", function(err, fd){
  if(err) { console.log(err); } 
  else {
    file.handler = fd; //We store the file handler so we can write to it later
    ...
  }
});

当我只拥有 "uploads/test" 时,文件已完美创建和写入,但当我尝试执行 "uploads/test.txt" 时,它会中断。有什么想法吗?

我认为你应该尝试使用

  var path = './uploads/test.txt'.

或者

  var path = __dirname + 'your_path';

fs.open(path, "a", "0755", function(err, fd){
  if(err) { console.log(err); } 
  else {
    file.handler = fd; //We store the file handler so we can write to it later
    ...
  }
});

这真的很愚蠢,但我发现了导致我的代码崩溃的原因:

fs.open 按预期工作。该错误与我使用 nodemon 的文件检测设置有关。

原因是每次我的应用程序加载时都会 运行 上面提到的代码。然后代码将写入我的应用程序 /uploads 目录中的一个新文件。然后 Nodemon 会检测到新文件并重新启动应用程序,从而形成恶性循环。