位置: 编程技术 - 正文

Node.js 的模块知识汇总(node.js的内置模块)

编辑:rootadmin

推荐整理分享Node.js 的模块知识汇总(node.js的内置模块),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs中的模块以及作用,nodejs中的模块以及作用,node.js node_modules,关于node.js中的模块化规范,关于node.js中的模块化规范,关于node.js中的模块化规范,nodejs常用模块,nodejs常用模块,内容如对您有帮助,希望把文章链接给更多的朋友!

在写 Node.js 应用程序的时候,你确实可以把所有代码放在巨大原 index.js 文件中,不在乎你的应用程序会变得多大多复杂。Node.js 解释器不会在意这个事情。但在代码组织方面,你很快就会陷入混乱,不能理解代码,而且难以调试。所以,作为一个人,你应该关心代码的结构。这就是使用模块的原因。

你可以把 Node.js 模块当作 JavaScript 库 —— 是整体代码中你想放在一起的某个部分(比如,函数集),你会想把这部分代码相对独立于代码库中的其它部分,可以把事情区分清楚。

就们我们把袜子放在衣柜一个抽屉,把衬衣放在衣柜的另一个抽屉 —— 我们可以把它们组成一天的着装 ——在代码库中,我们将不同的部分保存在不同的模块中,然后将它们有条不紊地合并成一个应用程序。

内建模块

即使我们不创造任何 Node.js 模块,也有模块可用,因为 Node.js 环境提供了内建模块。我们已经遇到过一个模块,就是在博客中寻找如何使用内建的 SHATWG URL 解析器的时候。

在我们自己的代码文件中,我们需要使用已经存在但是在别处声明的代码 —— 这种情况下,URL类是 Node.js 内置模块url中的一部分。

require('url')让我们可以访问url模块。这个模块定义在哪里,是怎么定义的,对我们来说完全不透明 —— 我们所需要知道的只是它的名称 ——url—— 以及它公开的属性,比如URL。

其它内建的模块直接导出我们需要的属性(通常是 JavaScript 对象)。以http模块为例:

这里,请求http模块让我们可以直接访问http对象,我们可以直接使用其方法,比如createServer。

Node 初学者这本书讲述了如何使用 Node.js 写一个完整的 Web 服务器,它就是使用的内建http模块。

外部模块

Node.js 的模块知识汇总(node.js的内置模块)

内建模块随 Node.js 发布,它可以解决很多开发问题,而不需要为每个应用发明新的轮子,但是真正促进 Node.js 编程能力的是由来自 Node.js 社区的开源模块构建起来的庞大生态系统。这些模块也可以集成到我们的代码库中,但是由于它们不是内置的,并且不会随每次安装Node.js 一起安装,所以只在是我们的代码中require是不够的。我们需要先安装包含外部模块的代码库,由于 NPM,Node Package Manager(Node 包管理器) 的存在,这很容易。

请参博客文章,它以如何使用 async 库为例来介绍如何使用外部模块。

此外,Node工匠书还使用了一个章节来介绍了使用 NPM 的细节。

创建你自己的模块

内建模块和外部模块都是别人提供的,但它们不会妨碍你创建自己的 Node.js 模块。

下面的例子创建了一个名为myRandom的模块,它会提供了一个辅助函数,用于返回 0 到 之间的数。

文件myRandom.js:

你应该把代码放在自己的myRandom.js文件中。由于此文件存在,并通过exports向外提供属性,另一个文件index.js可以使用导出的功能:

文件index.js:

require再次发挥作用,它让本地myRandom模块中导出的属性生效 —— 在这里是指between1and函数。

注意:虽然模块系统允许公开模块的功能,但它也允许隐藏在模块之外不会用到的功能,只要不通过exports导出就好。即使index.js文件请求了myRandom.js文件,它也不能访问未导出的getRandom函数:

这会导致 TypeError: myRandom.getRandom is not a function.

通过将实现细节隐藏在模块中,只暴露出需要在其它代码中使用的部分,可以很好的组织你的代码。

理解 Node.js 事件驱动机制的原理 学习Node.js一定要理解的内容之一,文中主要涉及到了EventEmitter的使用和一些异步情况的处理,比较偏基础,值得一读。大多数Node.js对象都依赖了EventEmit

node.js+captchapng+jsonwebtoken实现登录验证示例 提到登录验证,大家肯定能想到的就是的验证码了吧。为了防止刷票,可以说是煞费苦心,验证码也越来越难识别,最终即使是人也可能识别不

Node.JS更改Windows注册表Regedit的方法小结 注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从

标签: node.js的内置模块

本文链接地址:https://www.jiuchutong.com/biancheng/380933.html 转载请保留说明!

上一篇:Mongoose实现虚拟字段查询的方法详解(mongoose模块有什么用途)

下一篇:理解 Node.js 事件驱动机制的原理(nodejs事件队列)

  • 外购产品视同自产产品办理免抵退税的条件?
  • 代销商品的手续费税率是多少
  • 个人出租住房需要缴纳哪些税
  • 分销佣金税务处理
  • 软件和硬件如何集合使用
  • 如何确定交易性金融资产
  • 员工产假个税系统改为非正常要更正申报吗?
  • 出货一般要多久
  • 综合所得申报怎么作废
  • 季末计提所得税可以根据本年利润计算吗?
  • 贸易公司的成本有哪些
  • 收到货物损失赔偿标准
  • 出租的城镇土地由谁交城镇土地使用税
  • 境外机构可以开通b股账户
  • 个体工商户增值税怎么计算
  • 已经确认收入的售出商品发生销售退回时
  • 收到免税发票怎么做账务处理
  • 分支机构企业所得税计提和缴纳数额不一致怎么办?
  • 合同不含税怎么算
  • 土地增值税纳税地点
  • 误餐补助需要发票做账吗
  • 如何查找使用过的手机号
  • 购买固定资产的税率是多少
  • 企业暂估收入申报,未开发票,几年以后要开票如何处理
  • 全资子公司效益怎么算
  • 专用发票的开票人收款人复核人都要开齐吗
  • 清算期待摊费用怎么计算
  • 如何计算净利润增长率
  • 讨论:利息与贴息的关系?
  • 年底会计人员要做什么
  • 招待客户住宿费用计入什么科目
  • 购买办公用品是否缴纳印花税
  • linux禁止ip访问80端口
  • lsass.exe是什么进程
  • 境外服务包括哪些内容
  • PHP:Memcached::getAllKeys()的用法_Memcached类
  • 路由器和交换机用什么线连接
  • PHP:pg_field_table()的用法_PostgreSQL函数
  • 应收罚款收入
  • 东京塔的意义
  • 单位未足额缴纳社保可以补交几年
  • 若依框架前端如何通过后端加载页面
  • php autoload用法
  • 收到退回的增值税专用发票账务处理
  • echarts-gl
  • 上月的会计分录做错了
  • 命令行mkdir创建文件夹
  • 工会经费税前扣除是什么意思
  • 税务机关代开的增值税专用发票不含税销售额是什么意思
  • mongodb快速入门
  • 增值税为什么不在利润表里体现
  • 在建工程账务怎么会转到预收账款
  • 加计抵减和加计扣除是一个意思吗
  • sql server数据库恢复
  • 小规模纳税人工程款税率是多少
  • 去年城建税多计提了怎么办
  • 有限合伙企业分配原则
  • 公司验资报告多少钱
  • 农副食品发票
  • 小规模纳税人核定销售额
  • 房地产会计相关内容
  • mysql表中数据
  • 英雄联盟win8
  • win7手动装系统步骤
  • WebProxy.exe - WebProxy是什么进程
  • win10mobile下载官网
  • unity自动攻击
  • 浪漫樱花完整视频
  • redis开机自动启动linux
  • javascript学习指南
  • python爬虫爬取网页数据
  • android webview webgl
  • javascript学习指南
  • javascript面向对象精要
  • jquery增加一行和删除
  • 如何在电子税务局签订三方协议
  • 个税完税证明在哪里开具
  • 现在买车是不是免购置税
  • 济南代理报税
  • 个人所得税没申报会退吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设