由于我是Node.js
的新手,我正在寻找一些信息,编写一些测试内容以及阅读其他人的代码。
我已经看到创建/需要(使用)模块在Node.js
中是典型的。我已经看到了在模块中定义“公共”方法和函数的不同方法,两者似乎也以同样的方式工作:
module.exports
this.prototype
使用其中一个是否存在显着差异?或者只是做同样事情的不同方式?这两个中的任何一个更好,还是取决于上下文?
答案 0 :(得分:2)
您应该使用exports
将属性附加到预定义的导出对象,或者将module.exports
重新分配给您自己的对象。例如,在导出构造函数时,后者很常见。
exports.foo = function() { console.log('Hello world!'); };
exports.add = function(a, b) { return a + b; };
// Then the module might be used like so:
// var mymodule = require('./mymodule');
// mymodule.foo();
// console.log(mymodule.add(1, 9));
或替换exports
对象:
function Foo() {
}
module.exports = Foo;
// then typically users do this in their script:
// var Foo = require('./mymodule');
// var myFoo = new Foo();