node 读取文件的默认操作
node 中读取文件的时候,
如果我们写的是相对路径,那么就会使用 【process.cwd() + 相对路径 】的方式转换成绝对路径。
process.cwd() : 就是执行node命令时的那个目录。
作用介绍
变量 __dirname : 在哪个文件中用,就是该文件的所在目录的绝对路径。
变量 __filename : 文件的全路径名称
path模块 : 主要进行处理路径字符串的模块
path.resolve : 拼接路径字符串的方法
案例展示
项目结构
D:\
| -- xxx
| -- study-vite # 项目的目录
| -- main.js # 测试文件
main.js
// __dirname
console.log("__dirname = ",__dirname)
// __filename
console.log("__filename = ",__filename)
// process.cwd()
console.log("process.cwd() = ",process.cwd())
// 引入path模块
const path = require('path')
console.log('拼接路径 : ',path.resolve(__dirname,"./xxx.js"))
执行结果
方式一 : 直接在 main.js 的目录中执行node命令,获取到正确结果
PS D:\xxx\study-vite> node .\main.js
__dirname = D:\xxx\study-vite : main.js 所在的目录
__filename = D:\xxx\study-vite\main.js : main.js 的完整文件路径
process.cwd() = D:\xxx\study-vite : node命令执行的目录
拼接路径 : D:\xxx\study-vite\xxx.js : 路径拼接的路径
方式二 : 在 main.js 的上级目录中执行 node 命令,同样获取到了正确的文件路径
PS D:\xxx> node .\study-vite\main.js
__dirname = D:\xxx\study-vite : main.js 所在的目录
__filename = D:\xxx\study-vite\main.js : main.js 的完整文件路径
process.cwd() = D:\xxx : node命令执行的目录
拼接路径 : D:\xxx\study-vite\xxx.js : 路径拼接的路径