我是FE,也是Fe

前端来源于不断的点滴积累。我一直在努力。

统计

留言簿(15)

阅读排行榜

评论排行榜

nodejs中export与module.export的区别

又来折腾nodejs了。

我写了一个简单的模块。提供一个计算器相加的功能,我的调用代码形如:

var c = require("./calculator");

console.log(c.add(
4,5));


reqiure完之后可以立即调用,这个模块calculator.js怎么写呢?

exports.add = function(a,b){
    
return a+b;
}


给exports.add赋值解决了我的问题,但是我想如果我需要添加一个方法,这个就头疼了,比如:

var Calculator={
    add:
function  (a,b) {
        
return a+b;
    }
};
exports  
= Calculator;



考虑到Calculator里面不会只有一个方法,所以我直接用了exports= Calculator 。但是,很遗憾,不能,require得到的是一个{}对象,但是改成module.exports就可以了:

var Calculator={
    add:
function  (a,b) {
        
return a+b;
    }
};
module.exports  
= Calculator;//变成module.exports


变成module.exports 之后达到我想要的效果了。

总结说就是如果需要直接给exports赋值的话,可以通过module.export来实现。

关于这里面的原理以及实现,可以参照文章:

module.exports还是exports?http://zihua.li/2012/03/use-module-exports-or-exports-in-node/

 

posted on 2012-10-27 21:35 衡锋 阅读(8971) 评论(0)  编辑  收藏 所属分类: javascriptnodejs


只有注册用户登录后才能发表评论。


网站导航: