又來折騰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來實現(xiàn)。
關于這里面的原理以及實現(xiàn),可以參照文章:
module.exports還是exports?http://zihua.li/2012/03/use-module-exports-or-exports-in-node/