【问题标题】:Exporting a prototype in node.js: module.exports=Prototype or exports.Prototype=Prototype?在 node.js 中导出原型:module.exports=Prototype 或exports.Prototype=Prototype?
【发布时间】:2013-08-08 15:29:55
【问题描述】:

在 node.js 中导出原型的首选方式是什么?您可以采取两种方法:

  1. 导出原型本身

    function A () {
    }
    module.exports = A;
    

    用作:

    var A = require('./A.js');
    var a = new A();
    
  2. 将包含原型的对象导出为属性

    function A () {
    }
    exports.A = A;
    

    用作:

    var A = require('./A.js').A;
    var p = new A();
    

第一个解决方案对我来说看起来更方便,尽管我知道替换导出对象存在问题。两者中哪一个最好用,为什么?

【问题讨论】:

    标签: node.js module export prototype require


    【解决方案1】:

    第二个只有当你从一个文件中导出多个类时才有用,这本身就是有问题的。

    替换exports对象完全没有问题。

    【讨论】:

    • 好的,谢谢。当有循环引用时,替换导出对象可能会出现问题 - 但如果是这种情况,你无论如何都应该小心你所做的事情。
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 2011-10-31
    相关资源
    最近更新 更多