在node.js中导出原型:module.exports = Prototype或exports.Prototype = Prototype?

Jos*_*ong 7 prototype module export require node.js

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

  1. 导出原型本身

    function A () {
    }
    module.exports = A;
    
    Run Code Online (Sandbox Code Playgroud)

    用作:

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

    function A () {
    }
    exports.A = A;
    
    Run Code Online (Sandbox Code Playgroud)

    用作:

    var A = require('./A.js').A;
    var p = new A();
    
    Run Code Online (Sandbox Code Playgroud)

第一个解决方案对我来说看起来更方便,但我知道有关于替换exports对象的担忧.哪两个最好用,为什么?

Esa*_*ija 3

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

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