详解Node全局变量global模块


Posted in Javascript onSeptember 28, 2017

环境:Node v8.2.1; Npm v5.3.0; OS Windows10

在浏览器中我们有window对象用于挂载全局的变量,在Node中我们有global对象可以进行挂载,很多共用的属性就可以挂载到global对象上了,本身它自己也拥有很多的属性。

1、API结构图

详解Node全局变量global模块

2、一些例子

下面是部分API的例子,对部分API的一个简单代码实现

2.1 global

全局命名空间,通过 global 定义的变量,在任何地方都可以使用,类似于浏览器端定义在全局范围中的变量。

// foo.js
global.foo = 'hello';
// bar.js
require('./foo');
console.log(foo);
//hello

定义在 global 上面的变量,不需要在模块中通过 exports 输出,其他模块中也能使用。

2.2 __dirname

dirname 实际上不是一个全局变量,在命令行模式下直接调用会提示dirname 未定义,但是在模块中可以直接使用,返回当前脚本执行的目录。

console.log(__dirname);

2.3__filename

返回当前执行代码文件的名称(包含文件的绝对路径)。和dirname 一样,filename 也不是一个全局变量,但在模块中可以直接使用。

console.log(__filename);

__filename返回的是包含路径的文件名。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 Javascript
jquery表单验证实例仿Toast提示效果
Mar 03 Javascript
jQuery时间验证和转换为标准格式的时间格式
Mar 06 Javascript
VUE多层路由嵌套实现代码
May 15 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
微信小程序实现时间预约功能
Nov 27 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 Javascript
React Native预设占位placeholder的使用
Sep 28 #Javascript
import与export在node.js中的使用详解
Sep 28 #Javascript
AngularJS 仿微信图片手势缩放的实例
Sep 28 #Javascript
AngularJS路由删除#符号解决的办法
Sep 28 #Javascript
深入理解React高阶组件
Sep 28 #Javascript
基于webpack 实用配置方法总结
Sep 28 #Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
Sep 28 #Javascript
You might like
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
web页面录屏实现
2019/02/12 HTML / CSS
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
车间调度岗位职责
2013/11/30 职场文书
开业典礼主持词
2014/03/21 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
初中新生军训方案
2014/05/13 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
警察群众路线整改措施
2014/09/26 职场文书
作风建设剖析材料
2014/10/06 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis