Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。
创建hbk.js
var lover = require("./zhanglulu");
lover.say();
在当前目录创建zhanglulu.js
exports.say = function(){
console.log("I Love You!");
}
使用exports对象把say作为模块的方法,在hbk.js中通过加载zhanglulu.js即可调用say方法了。
运行结果:
[root@localhost node_test]# node hbk.js
I Love You!
修改zhanglulu.js如下:
function Lover(){
this.say = function(){
console.log("I Love You huangbaokang");
}
}
module.exports = Lover;
修改hbk.js如下:
var Lover = require("./zhanglulu");
var zll = new Lover();
zll.say();
运行结果:
[root@localhost node_test]# node hbk.js
I Love You huangbaokang
模块接口的唯一变化是使用 module.exports = Lover代替了exports.say= function(){}。 在外部引用该模块时,其接口对象就是要输出的 Lover对象本身,而不是原先的 exports。