node.js之模块

node.js之模块

1.自定义模块的设置 加载自定义模块利用require:

eg:
require('./custom_module.js')

2.从模块外部访问模块内的成员

2.1使用exports对象

在一个模块文件中定义的本地变量、函数当外界调用时,需要在模块内部使用exports对象,方法如下所示:

var myMsg = 'hello'
var funcname = function(){
	return 'I'm funcname function.'
}
exports.myMsg = myMsg
exports.funcname = funcname

2.2将模块定义为类

将模块定义为类,需要将exports对象书写为"module.exports"
现定义一个foo类作为示例:

var _name,_age;
var name='',age=0;
var foo = function(name,age){
	_name = name
	_age = age
}
foo.prototype.GetName = function(){
	return _name
}
foo.prototype.SetName = function(){
	_name = name
}
foo.prototype.GetAge = function(){
	return _age
}
foo.prototype.SetAge = function(){
	_age = age
}
foo.prototype.name = name
foo.prototype = age
module.exports = foo

2.3从node_modules目录中加载模块

如果想将自定义的模块在加载时不用指定路径,例如:require('http')这样,可以将自定义的模块保存到node_module中

2.4使用目录来管理模块

在程序根目录下建立 node_module子目录,

然后在其中为模块建立一个目录,并且在其中创建一个index.js文件
在node_module中建立一个名为模块名的文件夹,在文件夹中创建package.json文件,并填入如下代码:

    {
		"name":"custom_modul"
		"main":"./lib/custom_modul.js"
	}

在文件夹下建立lib文件夹,lib文件夹中书写custom_modul.js

3模块属性

3.1 module.id:模块的ID

3.2 module.filename: 当前模块文件的文件名

3.3 module.loaded :属性值为布尔值

false:模块没有加载完

true:模块加载完成

3.4 module.parent:当前模块的父模块对象

3.5 module.children:属性为一数组,其中存放当前模块的所有子模块

原文地址:https://www.cnblogs.com/yuanchenghao/p/7412889.html