【第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。

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

相关推荐
中年程序员一枚17 小时前
nuxt安装出现certificate 错误
前端框架·npm·node.js
虹科网络安全17 小时前
艾体宝新闻 | Node.js 高危安全漏洞:堆栈溢出可能导致服务器崩溃(CVE-2025-59466)
node.js
JaredYe17 小时前
纯 Node.js 的 PDF 转 Markdown 方案:支持图片解析的pdf2md库 `node-pdf-to-markdown`
pdf·node.js·markdown·md·pdf2md
芸简新章17 小时前
Node.js学习阶段总结-阶段2
学习·node.js
程序员爱钓鱼1 天前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
迦南giser2 天前
webpack从0到1详解
前端·javascript·css·webpack·node.js
C_心欲无痕2 天前
使用 FNM (Fast Node Manager) 管理多个 Node.js 版本
前端·node.js
橙序员小站2 天前
解密前端包管理工具:npm、Yarn与pnpm的全面对比
前端·npm·node.js
用户427007458382 天前
第六节:添加响应中间件、redis链接、配置redis store中间件、跨域配置
node.js
Merlyn102 天前
NVM介绍及Windows下的安装
windows·node.js·nvm