由于我是 Node.js
的新手,我正在寻找一些信息,编写一些测试内容并阅读其他人的代码。
我已经看到在 Node.js
中创建/要求(使用)模块是典型的。我已经看到了在模块内定义“公共(public)”方法和函数的不同方法,并且两者似乎也以相同的方式工作:
module.exports
this.prototype
使用一种或另一种有显着差异吗?或者只是做同一件事的不同方式?这两者中的任何一个更好,还是取决于上下文?
最佳答案
您应该使用 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();
关于javascript - this.prototype 和 module.exports 的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27968310/