头图

__dirname, __filename, path.resolve, path.join, process.cwd

MasOs系统,在终端中, /Users/a1234/Desktop/ 目录下,执行命令 node script/demo.js


\# __dirname - 返回当前模块的目录名

console.log(__dirname); 
>>> /Users/a1234/Desktop/script

输出结果: 当前文件所在目录的绝对路径

\# __filename - 返回当前模块文件的文件名,包含绝对路径

console.log(__filename); 
>>> /Users/a1234/Desktop/script/demo.js

输出结果: 当前文件的绝对路径

\# path.resolve() - 解析路径,返回绝对路径

console.log(path.resolve()); 
>>> /Users/a1234/Desktop

console.log(path.resolve('./demo.js')); 
>>> /Users/a1234/Desktop/demo.js

console.log(path.resolve(__dirname, './demo.js')); 
>>> /Users/a1234/Desktop/script/demo.js

输出结果: Node.js 进程当前工作的目录 + 传入参数(相对路径)的组合

\# path.join() - 拼接路径,返回拼接后的路径

console.log(path.join()); 
>>> .

console.log(path.join('./demo.js')); 
>>> demo.js

console.log(path.join(__dirname, './demo.js')); 
>>> /Users/a1234/Desktop/script/demo.js

输出结果: 传入参数(相对路径)的组合

\# process.cwd() - 返回 Node.js 进程当前工作的目录

console.log(process.cwd()); 
>>> /Users/a1234/Desktop

输出结果: Node.js 进程当前工作的目录


! 总结

优先使用 path.resolve;可以适配绝大多数场景;


JavaScript 进阶路
方便自己也方便你
4.3k 声望
304 粉丝
0 条评论
推荐阅读
远程工作|初创企业|兼职/实习|项目制结算
熟练使用Typescript 语言进行开发 善用搜索引擎解决工作中遇到的问题 熟练使用命令行工具解决工作问题,包括但不限于Git 了解前端开发技术:React Hooks 原理 / 前端状态管理 / CSS 实现细节 较好的产品意识,愿...

Raymond2阅读 313评论 1

封面图
「彻底弄懂」this全面解析
当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在 哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this就是记录的其中一个属性,会在 函数执行的过程中用到...

wuwhs17阅读 2.1k

封面图
反编译微信小程序获取小程序前端源码wxapkg
研究反编译的原因就是我自己辛苦了半个月写的小程序,忘记备份放在桌面,心急体验Win11系统 重装系统忘记备份源码,后悔莫及。 后来网上找了反编译的教程,反编译已经上线了的小程序 于是自己尝试了一下,真的可...

TANKING12阅读 9.2k评论 7

封面图
Nodejs 手动搭建 Express 项目
默认ejs模板只支持渲染以ejs为扩展名的文件,可能在使用的时候会觉得它的代码书写方式很不爽还是想用html的形式去书写。在这里可以使用engine 注册模板引擎的函数,让他处理指定后缀名的文件

yeungx6阅读 8.9k评论 5

PDF 预览和下载你是怎么实现的?
在开发过程中要求对 PDF 类型的发票提供 预览 和 下载 功能,PDF 类型文件的来源又包括 H5 移动端 和 PC 端,而针对这两个不同端的处理会有些许不同,下文会有所提及。

熊的猫7阅读 1.6k评论 1

封面图
HTTP,WebSocket 和 聊天室
在涉及到网络层面的相关内容时,不免会联系到 HTTP、TCP、WebSocket 等,但相信大部分人都并不是很清楚其中的一些关系和概念,特别是需要你去做语言表述时,网上有不少优秀的资料和文章,但知识仍需要自己去消化...

熊的猫8阅读 1.6k

封面图
npm下载包时报错 Unexpected token '.'问题解决
1. 出现问题当通过nvm切换nodejs版本为16以上时,npm install [package]报错:Unexpected token '.'2. 问题原因该问题不是npm的问题,也不是nodejs的问题,是nvm-windows的问题。3. 解决问题nvm-windows已经更新...

风一样的六六哥20阅读 8.5k评论 8

4.3k 声望
304 粉丝
宣传栏