NodeJS 模块与类

2024-04-04

对我来说,类与 NodeJS (CommonJS) 模块非常相似。您可以拥有许多它们,它们可以重复使用,它们可以互相使用,并且通常每个文件一个。

是什么让模块与类如此不同?使用它们的方式不同,命名空间的差异也很明显。除此之外,它们对我来说似乎非常相似,或者也许我只是没有看到这里明显的好处。


模块更像是包(使用 Java 术语)而不是类。您不实例化模块;它只有一份副本。它是一个用于组织相关功能的工具,但它通常不封装对象的特定实例的数据。

可能与类最接近的类似物(抛开那些在 JavaScript 中实际构造基于类的继承的库)只是一个构造函数。您当然可以将此类函数放入模块中。

function Car() {
    this.colour = 'red';
}
Car.prototype.getColour = function() { return this.colour; };

var myCar = new Car();
myCar.getColour(); // returns 'red'

您可以使用模块和类来进行封装,但封装的本质是不同的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodeJS 模块与类 的相关文章

  • 带层的 NodeJS Lambda - 如何防止打字稿在构建中包含层

    我正在用打字稿编写一个 NodeJs lambda 函数 它依赖于 Lambda 层才能工作 我在项目文件夹中创建了一个包含示例层的目录 然后使用 tsconfig 文件中的路径选项以便在本地测试它 然而 这工作得很好 当我构建代码来编译
  • Moq-ing 类或接口有什么区别?

    我一直在使用moq http code google com p moq 在我的单元测试中模拟对象 我在关于最小起订量的网站上看到它能够模拟类和接口 有一天 我与我的一位同事进行了讨论 他们表示没有理由模拟类 我应该只模拟接口 我对此并没有
  • Node.js 无限循环功能,在某些用户输入时退出

    我不太明白节点在异步和循环方面到底是如何工作的 我想在这里实现的是让控制台打印出来 Command 并等待用户的输入 但在等待时我希望它运行 一些随机函数 无休止地直到用户在终端上输入 exit 感谢所有的帮助 以及可能的解释 以便我能理解
  • Node.js + Express + Redis,什么时候关闭连接?

    我有一个使用的节点应用程序Express http expressjs com and 节点redis https github com mranney node redis 我正在遵循中概述的方法学习节点 http shop oreill
  • Python:从源代码安装模块

    当然你们都知道答案 而且很容易 但我是 python 新手 我在网上找到了一段代码 读取雅虎财经的股价 usr bin env python Copyright c 2007 2008 Corey Goldberg email protec
  • 作为实例方法调用时行为不同的类方法?

    我想知道是否可以创建一个在作为类方法调用时与作为实例方法调用时表现不同的方法 例如 作为一个技能提高项目 我正在写一个Matrix类 是的 我知道已经有非常好的矩阵类 我为它创建了一个类方法 名为identity它返回指定大小的单位矩阵 现
  • 如何在 Windows 上使用 Pyreverse

    我想使用pyreverse 创建图表类 我下载它 当我使用这个命令时 pyreverse bat c PyreverseCommand a1 s1 f ALL o png test py 我收到错误 名称 点 无法识别 什么是 点 如何创建
  • 调试 SSR node.js 服务器端 VSCode

    我在尝试调试 SSR React 应用程序 服务器端 时花费了太多时间 我们正在从头开始构建一个应用程序 这是一个非常大的项目 因此调试代码非常重要 服务器的 webpack 配置如下 const path require path con
  • 如何在 Nodejs 中创建代理下载

    我想创建一个nodejs服务器 它充当下载文件的代理 即用户点击 在下载按钮上 从nodejs服务器调用get nodejs服务器从不同的服务器获取链接 远程服务器并开始下载 以 TB 为单位 然后将该下载转发给用户 TB 文件不应存储在
  • Node + Express + Nginx 未设置 Cookie

    我有一个使用 Express 的 Node 应用程序 我尝试为我的客户端设置 cookie 它在本地环境 http 上运行良好 但是一旦我投入生产 https 我就很好地收到了cookie 我可以在响应中看到它 但它没有设置 任何想法 Ng
  • mean.io - 错误:“请求实体太大”。如何在meanio模块之外增加bodyParser限制?

    我在mean io 应用程序中收到以下错误 Error request entity too large 为了解决这个问题 我在以下位置增加了meanio模块中的bodyParser限制 node modules meanio lib co
  • 使用node和multer将图像上传到heroku不起作用

    我正在尝试使用 Node 后端将图像文件上传到 Heroku 我可以使其工作 同样的过程在本地主机测试中工作得很好 但是在将我的项目部署到 Heroku 并测试它之后 过程和文件中出现错误不会上传 后端 let storage multer
  • 如何在托管的 VSO 构建代理中设置 Node.js 和 NPM 版本号?

    在 Visual Studio Online 中 您现在可以在生成定义的 常规 选项卡上设置生成依赖项 但是 有没有办法设置Node js和NPM的版本 托管构建代理当前似乎正在使用 Node js v0 12 7 和 NPM v2 11
  • 如何使用 Node/Express 后端的 Angular 5 HttpClient get 方法下载 excel (xlsx) 文件?

    我的 Nodejs 服务器上的目录中有一个 excel 文件 文件的路径是 api uploads appsecuritydesign output appsecdesign xlsx 单击 Angular 5 组件中的按钮后 我只是尝试使
  • 如何定义与 Backbone 一起使用的 jade 模板

    我需要使用模板来渲染每个 ItemView var ItemView Backbone View extend className item template template itemTemplate html initialize fu
  • 如何在测试用例失败时在量角器中截取屏幕截图

    我是量角器的新手 想在浏览器中截取失败的测试用例的屏幕截图 您能帮我建议一下我该怎么做吗 谢谢 您可以使用protractor jasmine2 screenshot reporter为此 它有一些很好的功能可以满足您的目的 var Htm
  • Node.js npm mssql 函数返回未定义

    我使用 mssql 和 node js 连接到 sql server 数据库 我试图通过将连接代码包装在具有一个查询参数的函数中来减少代码 当我从 router get 函数中的 with 调用该函数时 它返回未定义 任何帮助将非常感激 f
  • 尝试在 Windows 上执行 package.json 中的脚本会引发 JScript 错误

    所以我正在尝试构建 javascriptair site 在 的里面package json有一个 npm 脚本指向 javascript 命令 package scripts 找到该存储库https github com kentcdod
  • go:找到模块但不包含包

    我正在尝试安装 go 的网络包 但收到 不包含包错误 终端截图 我咨询过 go 模块 latest 已找到但不包含包 https stackoverflow com questions 62974985 go module latest f
  • 如何从节点服务器发送 Firebase 云消息传递?

    有什么办法可以发送通知吗FCM from a node js server 我在文档中没有找到任何有关它的内容 通过 Firebase Cloud Messaging 发送消息需要调用 HTTP 端点 如发送下游消息的文档 https fi

随机推荐

  • 将 awk 输出保存到变量 [重复]

    这个问题在这里已经有答案了 谁能帮我解决这个问题吗 我正在尝试将 awk 输出保存到变量中 variable ps ef grep port 10 grep v grep port 10 awk printf s 12 printf var
  • 合并两种错误类型的最惯用的方法是什么?

    我有一个类型Foo其方法可能会 引发 关联类型的错误Foo Err pub trait Foo type Err fn foo mut self gt Result lt Self Err gt 我还有一个特点Bar用一种旨在处理的方法Fo
  • Seaborn/Matplotlib 日期轴条形图小主要刻度格式

    我正在构建 Seaborn 条形图 x 轴是日期 y 轴是整数 我想格式化日期的主要 次要刻度 我希望周一的刻度线是粗体的并且是不同的颜色 即 主要刻度线 而本周的其余时间则不那么粗体 我无法在 x 轴上获得主要和次要刻度格式以使用 Sea
  • 在 jquery animate 中,如何使用自定义对象而不是 div?

    我的情况是这样开始的 我想对 div 的背景图像进行动画处理 但似乎使用 jquery 我无法检索背景图像的各个位置 背景位置 所以我想为什么不创建一个对象并为其值设置动画 然后将这些值放入 css 中 但我还不知道如何完全做到这一点 这是
  • 订阅 EnvDTE80.DTE2.Events2.PublishEvents.OnPublishBegin 的正确方法是什么?

    我正在将 VS 插件移植到 VS 包 当包初始化时 包会订阅 OnBuildBegin 和 OnPublishBegin Visual Studio 按预期触发 OnBuildBegin 但从未调用 OnPublishBegin 或多或少相
  • 从发电机生成

    我有一个生成器 它接受一个数字作为参数并生成其他数字 我想使用这个生成器生成的数字并将它们作为参数传递给同一个生成器 创建一个一定长度的链 例如 mygenerator 2 生成 5 4 和 6 将 mygenerator 应用于这些数字中
  • org.postgresql.util.PSQLException:错误:运算符不存在:整数= bytea

    我正在尝试从 Spring Boot 应用程序执行本机查询 但收到此错误 org postgresql util PSQLException 错误 运算符不存在 整数 bytea 这是我为实现此目的而编写的代码 SqlResultSetMa
  • TypeScript - 如何将索引签名表示为通用类型

    TypeScript 中的索引签名定义如下 字典 key string T Array index number T 这些可以包装成一些简单的 可重用的类型 type DictionaryIndex
  • 在 MySQL 的一个查询中使用不同值更新多行

    我试图了解如何用不同的值更新多行 但我只是不明白 解决方案无处不在 但对我来说似乎很难理解 例如 1 个查询中有 3 个更新 UPDATE table users SET cod user 622057 date 12082014 WHER
  • Application.LoadComponent 找不到资源

    我的项目中有一个 xaml 文件 位于Ns1 Ns2 myfile xaml 它的构建操作设置为Page 使用自定义工具MSBuild Compile 我正在尝试在静态构造函数中加载此文件 namespace Ns1 Ns2 interna
  • 如何使用 LINQ 合并两个列表?

    如何使用 LINQ 合并两个列表 如下所示 class Person public int ID get set public string Name get set public Person Merge Person p return
  • 如何检测字符串是否是Base64Encoded?

    检测字符串是否是 Base64Encoded 的最佳方法是什么 使用 Delphi 你能做的最好的事情就是尝试解码它 如果解码失败 则输入未经过 Base64 编码 如果字符串成功解码 则输入might已经经过base64编码
  • SOAP suds 和可怕的模式 Type Not Found 错误

    我正在使用最新版本的肥皂水 https fedorahosted org suds https fedorahosted org suds 第一次 我在第一步就停滞了 suds TypeNotFound Type not found sch
  • 使用 Maven,如何运行特定测试?

    我的项目中有数千个单元测试 我想选择其中一个或几个从命令行运行 执行此操作的命令是什么 您可以通过传递以下内容来运行类中的所有测试 Dtest
  • Symfony2:加载样式表但未在 NGINX 上应用,导致错误页面损坏

    我刚刚安装了一个全新且干净的 Symfony 应用程序 我使用 NGINX 作为我的网络服务器 样式表在 devtools 网络选项卡中不显示 http 404 错误代码 我可以在预览选项卡中正确看到它们的内容 示例图片 有人遇到过这样的问
  • Eclipse 中的 Scala 执行时间

    当我从 Eclipse 运行 Scala 程序时 出现了一些可疑的情况 我运行一个 App 对象 运行需要 7 8 秒 实际执行时间用对象中的 System nanoTime 计时 当我从命令行运行相同的 class 文件时 需要 2 5
  • 从 json_encode($phpArray) 访问 JSON 对象值

    我是 JSON Javascript 新手 遇到了这种性质的问题 在我的 php 脚本中 我将 php 数组传递给 javascript 如下所示 echo img src misc arrow right png 在我的 JavaScri
  • 有没有用于集成复杂功能的 Haskell 库?

    如何在 Haskell 中对复杂的复值函数进行数值积分 有现成的库吗 数字工具 http hackage haskell org package numeric tools仅在卷轴上运行 我知道在复平面上只有线积分 所以我感兴趣的界面是这样
  • 无法压缩分区数量不等的 RDD

    现在我有3个这样的RDD rdd1 1 2 3 4 5 6 7 8 9 10 rdd2 11 12 13 14 rdd3 15 16 17 18 19 20 我想这样做 rdd1 zip rdd2 union rdd3 我想要的结果是这样的
  • NodeJS 模块与类

    对我来说 类与 NodeJS CommonJS 模块非常相似 您可以拥有许多它们 它们可以重复使用 它们可以互相使用 并且通常每个文件一个 是什么让模块与类如此不同 使用它们的方式不同 命名空间的差异也很明显 除此之外 它们对我来说似乎非常