Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJs:fs.unlink不删除文件[VS]_Javascript_Node.js_Visual Studio - Fatal编程技术网

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

Javascript NodeJs:fs.unlink不删除文件[VS],javascript,node.js,visual-studio,Javascript,Node.js,Visual Studio,我知道这不是第一篇关于fs.unlink不起作用的帖子,但我对VisualStudio和Node Js都很陌生 我想删除工作文件夹中的文件,但出现错误,该文件未被删除 以下是我尝试过的: var fs = require('fs'); fs.unlink('test1.txt'); PS:我在VS中安装了必要的Node Js组件。就代码而言,您没有正确调用fs。请取消链接。首先,它是异步的。您需要为其提供回调。请参见此处的示例: 其次,您需要为其提供完整的文件路径,而不仅仅是文件名。。。即:

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

我想删除工作文件夹中的文件,但出现错误,该文件未被删除

以下是我尝试过的:

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

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

就代码而言,您没有正确调用
fs。请取消链接。首先,它是异步的。您需要为其提供回调。请参见此处的示例:

其次,您需要为其提供完整的文件路径,而不仅仅是文件名。。。即:

var fs = require('fs');
fs.unlink('C:\path\to\my\file\test1.txt', (err) => {});
您还可以为它提供变量
\uuu 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”变量,在启动时只调用一次左右。试着克服使用和理解它“更容易”的冲动,让自己理解异步逻辑。

您使用的是Visual Studio还是Visual Studio代码?它们是非常不同的产品。根据这一点,您将得到不同的答案。@dvsoukup嗨!谢谢你的回复。我在VS中创建了一个新的Javascript文件,并在那里编写了代码。这就是VS代码吗?就像现代的雅培和科斯特洛的素描。。。VisualStudio代码是IDE应用程序的名称,它不同于仅称为VisualStudio的应用程序。您的应用程序是否调用自己的Visual Studio代码(在标题栏、菜单栏或图标中)?或者它只是称自己为Visual Studio?@IceMetalPunk嗨!我怀疑这是Visual Studio代码。我检查了一下,它是:Microsoft Visual Studio/Visual Studio 2017/Visual Studio Community(无论使用什么ide,它都是节点…,感谢@dvsoukup的链接。因此回调将处理错误。我确实按照此方法修改了代码,我得到了以下错误:[错误:enoint:没有这样的文件或目录,取消链接'path\test1.txt']您的计算机上是否存在该路径?我无法告诉您。引发该错误是因为文件/目录不存在(因此错误描述…)。传入文件的完整路径。是的,我从文件夹中粘贴了它,并检查了空格和文件名。奇怪!“\”是一个转义字符。因此,您可能需要使用双斜杠…例如:“path\\to\\file\theFile.txt”。正如您所见,这是一种麻烦,这就是为什么我建议您使用该选项来提供\uu dirname变量,即这就是定义变量的方式:let uu dirname=require('C:\\Users\\name\\Documents\\node intro\\test1.txt');