javascript - NodeJs : fs. 取消链接不会删除文件 [VS]

标签 javascript node.js visual-studio

我知道这不是第一篇关于 fs.unlink 不起作用的帖子,但我对 Visual Studio 和 Node Js 都很陌生。

我想删除工作文件夹中的一个文件,但出现错误,并且该文件未删除。

这是我尝试过的:

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

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

最佳答案

就代码而言,您没有正确调用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');
});

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

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

但是,这是不明智的,因为它会阻塞。我只会在某些应用程序引导过程中使用“同步”变体,在启动时它只会被调用一次左右。尝试抵制它“更容易”使用和理解的冲动,而是让自己理解异步逻辑。

关于javascript - NodeJs : fs. 取消链接不会删除文件 [VS],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54012417/

相关文章:

javascript - 如何有条件地等待 promise 解决?

javascript - 数组与 Array.prototype.reduce 的交集(集合论)

javascript - 我的解决方案似乎是 "Ugly"

javascript - 如何确保在 Gatsby 中使用 createNode 的 graphql 查询始终存在属性

visual-studio - Visual Studio 和 TortoiseSVN

javascript - 单击节点重新加载 d3.js 图形

java - 将数据从 Javascript 传递到 Android WebView

node.js - Mongodb时间段

c++ - Visual C++ TODO 任务列表不显示元素

.net - Nuget 和 Git 集成