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

时间:2019-01-02 19:59:50

标签: javascript node.js visual-studio

我知道这不是关于fs.unlink不起作用的第一篇文章,但是我对Visual Studio和Node Js都是新手。

我想删除工作文件夹中的文件,但出现错误,并且文件没有被删除。

这是我尝试过的:

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

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

1 个答案:

答案 0 :(得分:1)

就代码而言,您没有正确调用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,以便从您在任何位置对脚本调用节点的地方都可以使用当前的工作目录。因此,这看起来像:

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”变体,在启动过程中仅会被调用一次。尝试抵制使用和理解它“更轻松”的冲动,而让自己了解异步逻辑。

相关问题