node的模块系统

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。

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/82192680