Node.js模块系统
模块系统:模块系统是为了让Node.js的文件可以互相调用,文件和模块是一一对应的,
换言之,一个Node.js文件就是一个模块,这个文件可能是JavaScript代码、Json等等。
创建模块:其实就是创建一个Node.js文件,例如:HelloModule.js
HelloModule.js中代码如下:
// HelloModule.js中代码
写法一:
exports.sayHello = function (){
console.log("Hello NodeJS!");
}
写法二:
function sayHello(){
console.log("Hello NodeJS!");
}
exports.sayHello = sayHello;
注意:exports.sayHello = sayHello;
其中的 exports.sayHello这个名字可以随起,也可以叫做 exports.speak = sayHello;
调用的时候应该为:hello.speak();
如何引用HelloModule模块?
// 引入 HelloModule 模块,路径为HelloModule文件的所在路径
var hello = require("E:\\nodejs\\HelloModule");
hello.sayHello();
运行结果:
Hello NodeJS!
有时候我们想把一个对象封装到模块中该怎么处理?
创建person.js文件,
function Person(){
var name;
this.setName = function(value){
this.name = value; // 注意这里this的使用,建议按照这种方式来,否则会出问题
}
this.sayHello = function(){
console.log("Hello,"+this.name);
}
}
module.exports = Person;
如何调用Person对象?
var Person = require("E:\\nodejs\\person");
person = new Person();
console.log("person: "+person);
person.setName("张三丰");
console.log("person.name: "+person.name);
person.sayHello();
运行结果:
person: [object Object]
person.name: 张三丰
Hello,张三丰