由于我是 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/

    10-13 08:59