创建以及加载模块【nodejs第四篇】
建立两个文件,文件一createModule.js ,文件二main.js
createModule.js的代码,主要用于创建一个模块
1 /** 2 * Created by Administrator on 2016/8/3. 3 */ 4 var name; 5 // 6 exports.setName = function(username){ 7 name = username; 8 }; 9 exports.sayName = function(){ 10 console.log("what's your name ? \n" + name); 11 };
当我们在main.js中主要进行模块的加载。【并且是单次加载,也就是说无论调用多少次require,获得的模块都是同一个。】代码如下
1 // ./表示相对路径,默认为js文件,.js可以省略 2 var module0 = require("./createModule.js"); 3 module0.setName("anna"); 4 //单次加载的原则 5 var module00 = require("./createModule.js"); 6 module00.setName("annaLee"); 7 module0.sayName();
当我们想把createModule.js中的内容封变为一个对象封装到模块中时,上面的文件分别可以进行如下处理。
1 function Person(){ 2 var name; 3 this.setName = function(username){ 4 name = username; 5 }; 6 this.sayName = function(){ 7 console.log("what's your name ? \n" + name); 8 }; 9 } 10 //覆盖exports 11 module.exports = Person;
main.js中的加载模块的代码也响应改变为
1 var Person = require("./createModule.js"); 2 var one = new Person(); 3 one.setName("test"); 4 one.sayName();