exports可以向外部文件暴露方法和属性,同过载单独js文件内写方法向外部暴露调用方法就能完成模块的定义。
demo1:
exports_test1.js
var name;
exports.setName = function(newName){
name = newName;
}
exports.sayHello = function(){
console.log("hello:"+name);
}
方法的调用:
/*
* require只会导入一次模块
*
* */
var exportT = require('./exports_test1');
exportT.setName('zw');
var exportT = require('./exports_test1');
exportT.setName('zw2');
exportT.sayHello();
打印输出:
hello:zw2
demo2:
exports_test2.js
function hello(){
var name;
this.setName = function(newName){
name = newName;
}
this.sayHello = function(){
console.log("hello:"+name);
}
}
module.exports = hello;
方法的调用:
var hello = require('./exports_test2');
var hello1 = new hello();
hello1.setName('zw');
hello1.sayHello();
var hello2 = new hello();
hello2.setName('z2');
hello2.sayHello();
打印输出:
hello:zw
hello:z2