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

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

相关推荐
d***9359 小时前
Webpack、Vite区别知多少?
前端·webpack·node.js
q***062910 小时前
Node.js使用教程
node.js·编辑器·vim
e***582312 小时前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
风止何安啊12 小时前
快 2026 年了,谁还在为 this 挠头?看完这篇让你彻底从懵圈到精通
前端·javascript·node.js
AAA阿giao15 小时前
使用 Vite + Vue 3 搭建项目并配置路由的全流程(含国内镜像加速)
vue.js·node.js·vite
q***518917 小时前
Node.js实现WebSocket教程
websocket·网络协议·node.js
TG:@yunlaoda360 云老大18 小时前
怎么在亚马逊云服务器上部署Node.js?
运维·服务器·node.js·aws
笑醉踏歌行1 天前
NVM 在安装老版本 Node环境时,无法安装 NPM的问题
前端·npm·node.js
q***9941 天前
node.js+npm的环境配置以及添加镜像(保姆级教程)
arcgis·npm·node.js
abiao19811 天前
npm WARN ERESOLVE overriding peer dependency
前端·npm·node.js