【Node.js】 第四章 模块化
创始人
2024-04-08 08:52:50
0

目录

1. 模块化的概念

1.1 模块化的概念

1.2 模块化规范

2. Node.js中的模块化

2.1 模块分类

2.2 模块加载

2.3 模块作用域 

2.4 向外共享模块成员

2.5  exports对象

2.6 Node.js中的模块化规范


1. 模块化的概念

1.1 模块化的概念

按照模块指定规则,把一个大文件拆分为一个个小模块。这可提供代码的复用性,可维护性,按需加载。

1.2 模块化规范

如何引入的规范,如何暴露的规范

2. Node.js中的模块化

2.1 模块分类

1. Node.js的内置模块:如fs、path、http模块等

2. 自定义模块:用户写的每个js文件

3. 第三方模块:第三方开发的模块

2.2 模块加载

使用require来加载模块:

// 加载内置模块
const fs = require('fs');// 加载自定义模块、需要指定路径
const custom = require('./custom.js');// 也可省略.js后缀,require方法会自动补全// 加载第三方模块
const memont = require('memont');

2.3 模块作用域 

和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域。优点在于可以防止污染全局变量。

2.4 向外共享模块成员

1. module对象

每个.js文件都有一个module对象,存储了跟当前文件有关的信息

2. module.exports

 在自定义模块中,可以使用module.exports导出当前的文件对象,默认为空对象。

导出指定属性和方法:module.exports.xxx = xxx

 注意:require永远以module.exports 指向的最新的对象为准

示例:

2.5  exports对象

由于module.exports单词写起来比较复杂,为了简化向外共享成员的代码,Node提供了exports对象。默认情况下,exports和module.exports指向同一个对象,最终共享的结果,还是以module.exports指向的对象为准。

注意:require()模块时,得到的永远是module.exports指向的对象: 

2.6 Node.js中的模块化规范

 

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...