用法:node模块都具备的方法(exports、module、require、__filename、__dirname)
凡是玩弄nodejs的人,都明白,每一个模块都有exports、module、require、__filename、__dirname的方法
清楚了解方法的用法后,玩转node就等于清楚了日常讲话的内容
(function(exports,require,module,__filename,__dirname){
//打印一出,所有模块的类型和值一目了然
console.log("exports:",exports);
console.log("__dirname:",__dirname);
console.log("__filename:",__filename);
console.log("require:",require);
console.log("module:",module); })(exports,require,module,__filename,__dirname);
一、__filename
*当前模块的文件路径:解析后的绝对路径
//输出当前的绝对路径
console.log(__filename);
二、__dirname
*存放当前模块的文件夹路径
//输出存放当前模块的文件夹名称
console.log(__dirname);
三、exports
*可以用来创建模块,是一个对于module.exports更加简短的引用形式。可以看出,module是exports的父亲,要是你是这么想的话,你会看不到明天的太阳,嗯~,暂且不论它们的区别。
//Untitled2.js
//官方模块http、fs、url用过没,要是没用过的话,你滚!
//量身为我而做的名片模块
exports.name="木人子韦一日尘";
exports.qq="2309485575";
//Untitiled1.js
//引用创建好的Untitled2模块
var myCard=require("./Untitled2");
console.log(myCard);
四、module
*基本包含了当前模块的全部信息,创建模块的事,module.exports也能办到,而且这才是真正的老大,exports不过是module的小弟,好东西都要上交给module大妈的
在有exports例子的前提下,修改Untitled2.js文件,Untitled1.js不变
我把exports和module.exports相互交换,你们亲自理解下
//Untitile2.js
//量身为我而做的名片模块
//module.exports赋值成类型为字符串,不为对象,不受exports创建子集影响
module.exports="我是不会变成对象的";
exports.name="木人子韦一日尘";
exports.qq="2309485575";
//Untitled2.js
//量身为我而做的名片模块
//module.exports类型想为对象,并创建子集,鸟都不鸟exports的请求
exports="我要变对象";
module.exports.name="木人子韦一日尘";
module.exports.qq="2309485575";
五、require
辛苦了require,把最简单的你晒在了最后,这话没毛病,白话讲,它主要是能够在当前模块引入其它模块,就是引入模块,用法好说好说。
/*require()括号里可填绝对路径或者相对路径,只要拟引入路径是指向后缀
名为js的文件,node老爷爷都会和蔼地认同“它是模块”,至于文件内容合不
合法,暂且不论*/
var myCard=require(__dirname+'/Untitled2.js');
/*如果是写相对路径的话,要注意一点,同级文件名称要改为./统计文件名称
,至于还有什么要注意的,暂且不论*/
console.log(myCard);
用法:node模块都具备的方法(exports、module、require、__filename、__dirname)的更多相关文章
- python 查看某个模块都有什么方法
1.看官方文档 https://docs.python.org/3/search.html?q=os&check_keywords=yes&area=default 2.看源码 3.d ...
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
- Node.js -- Router模块中有一个param方法
这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: 1 Map lo ...
- 理解node模块的exports和module.exports
exports是module.exports的引用,即var exports = module.exports.在一个模块的开头,这两个值都指向同一个空对象:exports = module.expo ...
- Node.js中exports,module.exports以及require方法
在Node.js中,使用module.exports.f = ...与使用exports.f = ...是一样的,此时exports就是module.exports的一种简写方式.但是,需要注意的是, ...
- node 模块正确暴露方法
一个node模块,为了能够服用,就需要将其暴露,那么如何正确写呢?(参考:https://developer.mozilla.org/zh-CN/docs/Learn/Server-side/Expr ...
- Commonjs规范及Node模块实现
前面的话 Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于java ...
- 模块机制 之commonJs、node模块 、AMD、CMD
在其他高级语言中,都有模块中这个概念,比如java的类文件,PHP有include何require机制,JS一开始就没有模块这个概念,起初,js通过<script>标签引入代码的方式显得杂 ...
- 【转】Commonjs规范及Node模块实现
前言: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javas ...
随机推荐
- (PMP)第10章-----项目沟通管理
10.1 规划沟通管理 相关方的数量:(n * (n-1))/2 交互式沟通,推式沟通,拉式沟通 沟通管理计划 10.2 管理沟通 电子项目管理工具 电子沟通管理 社交媒体管理 10.3 监督沟通 B
- python基本数据类型之列表和元组
python基本数据类型之列表与元组 python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且同一个 ...
- sql server常用字符串函数
--返回字符表达式中最左侧字符的ASCII代码值 --将整数ASCII代码转换为字符 )--a )--A ')--A SELECT CHAR('A')--在将 varchar 值 'A' 转换成数据类 ...
- git 命令(提高篇)的本质理解
上一篇博客:[[git 命令(提高篇)的本质理解] (http://www.cnblogs.com/juking/p/7105744.html)]介绍了Git 的基础知识 -- 提交.分支以及在提交树 ...
- 从navicat中导入sql文件过大:Got a packet bigger than 'max_allowed_packet' bytes
失败背景:刚才通过navicat向本地mysql数据库中导入sql文件.第一个sql文件(多个表)大小为967M,导入成功: 第二个sql(单个表)大小为50.1M,导入失败. 1.在navicat中 ...
- ng 的 ng-repeat(对象) 把对象的 key 和value 都拿出来 循环
对象的repeat 是这种形式
- pycharm中新建external tools
1.Settings-Tools-External Tools 点击+号 2.Tools settings中的设置如下: Program: $PyInterpreterDirectory$/pytho ...
- maya2016卸载/安装失败/如何彻底卸载清除干净maya2016注册表和文件的方法
maya2016提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装maya2016失败提示maya2016安装未完成,某些产品无法安装,也有时候想重新安装maya ...
- 你不知道的console调试
概述 浏览器的开发者工具我们经常用,console.log我们也经常用,但是console还有其它一些方便调试的命令,我总结了几个常用的记录在下面,供以后开发时参考,相信对其他人也有用. 获取js执行 ...
- Nginx 负载均衡与反向代理
通过设置权重来轮询 weight server 192.168.1.62 weight=5 server 192.168.63 weight=1 ip_hash 第3方均衡策略 fair url_h ...