Visual Studio NodeJs:fs.unlink不会删除文件[VS]

omjgkv6w  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(133)

我知道这不是第一篇关于fs.unlink不工作的文章,但我对Visual Studio和Node Js都很陌生。
我想删除工作文件夹中的一个文件,我得到了一个错误,该文件没有被删除。
以下是我尝试的:

var fs = require('fs');
fs.unlink('test1.txt');

PS:我在VS中安装了必要的Node Js组件。

8ulbf1ek

8ulbf1ek1#

就代码而言,您没有正确调用fs.unlink。对于初学者来说,它是异步的。你需要给它一个回调。请参见此处的示例:
https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback
其次,您需要提供完整的文件路径,而不仅仅是文件名。即:

var fs = require('fs');
fs.unlink('C:\path\to\my\file\test1.txt', (err) => {});

您还可以为它提供变量__dirname,以便从您针对脚本调用node的任何位置使用当前工作目录。因此,它看起来像这样:

let fs = require('fs');
let path = require('path');

fs.unlink(path.join(__dirname, 'test1.txt', (err) => {
  if (err) throw err;
  console.log('test1.txt was deleted');
});

目前,您还可以使用它的单参数签名同步调用它。因此,您只需要提供dir路径:

fs.unlinkSync('C:\\path\\to\\my\\file\\test1.txt');

但是,这是不明智的,因为它会阻塞。我只在应用程序引导过程中使用“sync”变量,在启动时只调用一次左右。试着与它“更容易”使用和理解的冲动作斗争,而是让自己理解异步逻辑。

相关问题