1 新建一个module.js
//定义一个name变量;
var name;
//接口设置
exports.setName=function(thisName){
name=thisName;
};
exports.testModule=function(){
console.log("名字: "+name);
};
2 新建一个getmodule.js
//定义一个getmodule变量,请求module模块
var getmodule=require('E:\\node\\module');
//设置module的名字
getmodule.setName('金含');
//调用module的方法testModule;
getmodule.testModule();
3 执行getmodule.js
E:\node>node getmodule.js
名字: 金含
E:\node>
单次加载
1 我们修改之前的getmodule.js
//定义一个getmodule变量,请求module模块
var getmodule=require('E:\\node\\module');
//设置module的名字
getmodule.setName('金含');
var getmodule2=require('E:\\node\\module');
getmodule2.setName('金含2');
//调用module的方法testModule;
getmodule.testModule();
2.执行getmodule.js
E:\node>node getmodule.js
名字: 金含2
E:\node>
如上所示:getmodule2覆盖了getmodule,这是因为getmodule和getmodule2指向同一个实例;
覆盖exports
1 新建一个hello.js
//创建一个hello的函数,设置姓名,创建testHello的方法;
function Hello(){
var name;
this.setName=function(getname){
name=getname;
};
this.testHello=function(){
console.log("姓名:"+name);
};
};
module.exports=Hello;
2 新建一个gethello.js
var gethello=require('E:\\node\\hello');
var hello=new gethello();
hello.setName('金含');
hello.testHello();
3执行gethello.js
E:\node>node gethello.js
姓名:金含
E:\node>