VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined

这个问题我在网上查找解决办法的时候大多都是说异步的问题,然而用了那些所谓的解决办法后还是输出不了data的值,显然不是异步的问题,今天记录下踩坑。

如果Code Runner插件配置完毕,可以跳过第一大点。

一、安装配置Code Runner插件

在VScode中运行Node.js相关的代码,建议安装Code Runner插件,安装配置简单

扩展商店里直接搜索安装第一个就行了,如图

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第1张图片

安装完之后回到打代码的地方鼠标右键发现多了个选项

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第2张图片

 在右上角多了一个小三角

两种方式都可以实现在VScode中运行代码

 二、报错

其次确保代码是对的(Node.js也需要确保安装成功),样例代码如下

const fs = require('fs')

fs.readFile('./hello.txt', (err, data)=>{
    if(!err) {
        console.log(data.toString())
    } else {
        console.log(err)
    }
})

目录结构和hello.txt中内容如下

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第3张图片VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第4张图片

运行后发现这样的报错

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第5张图片

 很奇怪,为什么路径明明没错却说no such file or directory呢

三、解决办法

原因是VScode读取文件的 相对路径设置问题

找到Code Runner插件

点击右下角的设置图标,打开弹出窗口中的扩展设置

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第6张图片

 找到如下图这一设置并勾选

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第7张图片

 回到相应JS文件中重新编译运行,成功运行打印结果(如果还是报错,可以重启一下VScode)

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第8张图片

 四、补充

标题中还有 无法输出data或undefined 两种情况,发生这两种情况只要代码是对的,问题就应该也是出在相对路径设置的问题上,而之所以没有报错no such file or directory,原因大概率是因为在读取完data之后就对data进行了转数组之类的操作,所以会无法输出想要输出的数据或undifined。

如果想让代码在终端里运行,可以勾选如图Code Runner的扩展设置

VScode运行fs.readFile时报错no such file or directory或无法输出data或undefined_第9张图片

你可能感兴趣的:(VScode,vscode,node.js)