javascript - Node 模块的可能结构

标签 javascript node.js require node-modules

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

(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 中正式正确吗?

最佳答案

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

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

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

module.exports = SimpleModule;

关于javascript - Node 模块的可能结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36938758/

相关文章:

javascript - 我写的这个函数有什么问题吗?

javascript - 空白输入将短行添加到待办事项列表

ruby-on-rails - lib中的子文件夹

javascript - 如何正确记录 require module.exports 以便文档不丢失?

ruby - Ruby 中的 include 和 require 有什么区别?

javascript - 使用 webkitRelativePath 时,路径分隔符是操作系统特定的吗?

javascript - map 可以工作,但在加载时抛出弹出错误,提示 api key 错误

javascript - Express 相对于路由而不是绝对路由提供静态 Assets 文件

node.js - 如何使用文件上传控件将文件附加到 Node.js 中的电子邮件

node.js - Cloudfront 分发不适用于 EC2 实例