用法:node模块都具有的方法(exports、module、require、__filename、__dirname)

 凡是玩弄nodejs的人,都明白,每个模块都有exports、module、require、__filename、__dirname的方法javascript

清楚了解方法的用法后,玩转node就等于清楚了平常讲话的内容java

(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);

1、__filenamenode

2、__dirnameui

3、exportsurl

4、modulespa

5、requirecode

1、__filename对象

 *当前模块的文件路径:解析后的绝对路径blog

//输出当前的绝对路径
console.log(__filename);

 

2、__dirnameip

*存放当前模块的文件夹路径

//输出存放当前模块的文件夹名称
console.log(__dirname);

 

3、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);

  

 

4、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";

  

5、require

辛苦了require,把最简单的你晒在了最后,这话没毛病,白话讲,它主要是可以在当前模块引入其它模块,就是引入模块,用法好说好说。

/*require()括号里可填绝对路径或者相对路径,只要拟引入路径是指向后缀
名为js的文件,node老爷爷都会和善地认同“它是模块”,至于文件内容合不
合法,暂且不论*/
var myCard=require(__dirname+'/Untitled2.js');
/*若是是写相对路径的话,要注意一点,同级文件名称要改成./统计文件名称
,至于还有什么要注意的,暂且不论*/
console.log(myCard);

  

  

相关文章
相关标签/搜索