【第2章 Node.js基础】2.4 Node.js 全局对象...持续更新

什么是Node.js 全局对象

对于浏览器引擎来说,JavaScript 脚本中的 window 是全局对象,而Node.js程序中的全局对象是 global,所有全局变量(除global本身外)都是global 对象的属性。全局变量和全局对象是所有模块都可以调用的。Node.is 的全局变量包括filename和 dirname 等,全局对象包括console 和process 等。

2.4.1全局变量 __filename和 __dirname

  • __flename (两个下画线开头)指向当前正在执行的脚本文件名。
  • __dimname 指向当前运行的脚本所在的目录。与path.dirname( __filename)返回的路径相同
javascript 复制代码
console.log("======输出开始==========")
console.log(__filename);
console.log(__dirname);
console.log("======输出结束==========")

上面演示 console.log(__filename); 输出了脚本文件 的绝对路径。console.log(__dirname); 则输出了脚本文件所在文件夹的绝对路径。

假定有两个模块a和b,其中b是a的依赖文件,a和b的目录结构如下

bash 复制代码
/users/zxp/app/a.js
/users/zxp/app/node_modules/b/b.js

b.is中的 __filename会指向/users/zxp/app/node modules/b/b.js,

而a.js 中的 __filename 会指向/users/zxp/app/a.js。

也就是说模块依赖不会改变路径。

相关推荐
参宿736 分钟前
Shell 脚本语言(Bash/Sh)基础 与 应用
node.js
weifengma-wish2 小时前
通过NPM安装claude code
前端·npm·node.js
不总是12 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
蓝乐19 小时前
Express 知识点总结
node.js·express
kylinmin21 小时前
Node.js安装及环境配置超详细教程(以win11为例子)
node.js
阿奇__1 天前
基于 Node.js 与智谱 AI 的 RAG 工程实践
人工智能·node.js
hacker_LeeFei1 天前
前端辨识:npx、npm 、pnpm的区别
前端·npm·node.js
草明1 天前
检查 node.js 项目中的漏洞
node.js·漏洞·audit
前端程序猿i1 天前
PM2 使用详解:Node.js 项目后台运行、守护进程、日志与生产部署
node.js·pm2
m0_535817551 天前
从0到1上手Claude Code:Windows安装+88api配置全流程
windows·gpt·node.js·claude·claudecode·88api