Node 模块的可能结构

A possible structure for a Node module

在我的节点项目中,我将这个基本模板结构用于单个模块

(function() {

  var SimpleModule;
  SimpleModule = (function() {

    function SimpleModule(params) {

      /** private function */
      this.aPrivateFunction = function() {
        return "hidden";
      };

    }

    /** public function */
    SimpleModule.prototype.foo = function() {
      return "bar";
    }

    return SimpleModule;

  })();

  module.exports = SimpleModule;

}).call(this);

以便调用者模块执行

var SimpleModule
 ,simpleModuleInstance;

SimpleModule = require('./simplemodule');
simpleModuleInstance = new SimpleModule();
simpleModuleInstance.foo();

这种方法在 Node 中是否正式正确?

更简单的方法怎么样?默认情况下,模块是私有的,因此除了您导出的内容外,所有内容都已封装。

function SimpleModule(params) {
  /* Not really private!! */
  this.aPrivateFunction = function() {
    return "hidden";
  };
}

/** public function */
SimpleModule.prototype.foo = function() {
  return "bar";
}

module.exports = SimpleModule;