动态绝对路径
- 概述: 在每个模块中,除了
require,exports等相关API之外,还有两个其他成员: - 成员:
__dirname: 动态获取当前文件模块所属目录的绝对路径。__filename: 动态获取当前文件的绝对路径。
文件操作
- **背景:**在文件操作中,使用相对路径不可靠,因为在Node中文件操作的路径是相对于执行node命令所处的路径。
- **方案:**把相对路径变成绝对路径。
- 此时可以使用
__dirname和__filename成员。 - 在拼接的过程中,为避免手动拼接带来的低级错误,推荐使用
path.join()来辅助拼接。
-
例子:
fs.readFile(path.join(__dirname,'./a.txt'),'utf8',function (err, data) { if (err) { throw err; } else{ console.log(data); } }); -
注意:
- 为了避免上述问题,以后文件操作中所有的相对路径都转换为动态绝对路径
- 模块中的路径标识(require)和这里的路径没关系,不受影响。
本文介绍了Node.js中如何使用`__dirname`和`__filename`获取模块路径以及`path.join()`函数确保文件操作中的路径转换为绝对路径,避免了基于执行路径的不稳定性。
139

被折叠的 条评论
为什么被折叠?



