在使用Nodejs 中的 fs 模块进行 IO 时,发现报错了,找不到这样的文件或目录。
使用nodejs的fs模块读取文件时习惯用相对路径,但是运行的时候出现了上述的错误,原因就是fs模块读取文件的相对路径是以启动server.js的位置为基准的,而不是以server.js文件的位置。
也就是说,是以当前打开的文件为准的相对路径,类似 JetBrains 全家桶中的 project 目录。
这就是这篇文章所要讲述的问题。并且nodejs官方推荐在使用fs模块读取文件时使用绝对路径,而不是相对路径。
上图所示,红框中是当前 vscode 打开的顶层目录,fs 模块中的相对位置是以红框中的位置为基准。
而我的代码:
const fs = require('fs');
fs.stat(&