node 中的 __dirname 和 path.resolve() 的作用

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  :  路径拼接的路径

你可能感兴趣的:(Vite,javascript,__dirname,path.resolve,node)