我知道这不是第一篇关于 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/