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

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

相关推荐
chalmers_153 分钟前
Node.js 后端 + 简易运维岗---面试全套指南(1)
面试·职场和发展·node.js
冬瓜神君27 分钟前
Token 预估这件小事:使用HuggingFace Tokenizers精准预估上下文Tokens
node.js·huggingface·tiktoken·tokens预估
虹科网络安全28 分钟前
艾体宝洞察|NPM供应链攻击:复杂的多链加密货币攻擊渗透流行软件包
前端·npm·node.js
知识浅谈14 小时前
OpenClaw保姆级安装教程:基于ubuntu系统
linux·ubuntu·node.js
月弦笙音15 小时前
【Node】操作磁盘文件底层原理:从「点外卖」到「厨房流水线」
node.js
真夜18 小时前
从Go工具到Vite插件:参考esbuild案例打造前端自动化部署神器
前端框架·node.js·go
泉城嵌入式18 小时前
从嵌入式开发工程师角度了解前端开发与后端开发
node.js
AIFarmer18 小时前
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
前端·npm·node.js
网络点点滴1 天前
Node.js路由知识
node.js
KevinCyao1 天前
node.js彩信接口如何集成?使用Node.js异步流模式发送多图片彩信
node.js