1.模块化.js中的模块的分类及分类(组图)

1. 模块化的基本概念1.1 什么是模块化

模块化是指在解决一个复杂问题时,将系统从上到下逐层划分为若干模块的过程。对于整个系统而言,模块是可以组合、拆卸和更换的单元。

编程中的模块化:

编程领域的模块化就是遵循固定的规则模块化系统什么意思,将一个大文件拆分成多个相互独立又相互依赖的小模块。

模块化代码的好处:

①提高代码的复用性

②提高代码的可维护性

③可按需加载

1.2 模块化规范

模块化规范是代码模块化组合时需要遵循的那些规则。

例子:

模块化规范的好处:每个人都遵循相同的模块化规范编写代码,降低了通信成本,极大地方便了各个模块之间的相互调用,造福于他人。

2.Node.js 中的模块化2.1 Node.js 中的模块分类

在Node.js中,模块根据模块的来源分为三类,分别是:

2.2 加载模块

使用强大的require()方法,可以加载需要的内置模块、自定义模块、第三方模块使用。例如:

// 1.加载内置的 fs 模块
const fs = require('fs');
// 2.加载用户的自定义模块
const custom = require('./custom.js');
// 3.加载第三方模块(需要下载~)
const moment = require('momoent');

注意:当使用require()方法加载其他模块时,加载模块中的代码会被执行。

2.3 Node.js 中的模块作用域 1.什么是模块作用域

与自定义模块中定义的函数作用域、变量、方法和其他成员类似,只能在当前模块内访问。这种模块级别的访问限制称为模块范围。

2.模块范围的好处

防止全局变量污染问题。

2.4 在模块范围内向外共享成员1.模块对象

每个.js自定义模块中都有一个module对象,里面存放着当前模块的相关信息,打印如下:

图片[1]-1.模块化.js中的模块的分类及分类(组图)-唐朝资源网

2.module.exports 对象

在自定义模块中,您可以使用module.exports 对象来共享模块的成员以供外部使用。

当外界使用require()方法导入自定义模块时,得到的是module.exports指向的对象。

默认 module.exports = { };

3.分享会员时的注意事项

当使用 require() 方法导入模块时,导入的结果总是基于 module.exports 指向的对象。

图片[2]-1.模块化.js中的模块的分类及分类(组图)-唐朝资源网

4.导出对象

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

图片[3]-1.模块化.js中的模块的分类及分类(组图)-唐朝资源网

5.对exports和module.exports的误解

永远记住模块化系统什么意思,当你 require() 一个模块时,你总是会得到 module.exports 指向的对象:

图片[4]-1.模块化.js中的模块的分类及分类(组图)-唐朝资源网

图片[5]-1.模块化.js中的模块的分类及分类(组图)-唐朝资源网

图片[6]-1.模块化.js中的模块的分类及分类(组图)-唐朝资源网

**注意:**为防止混淆,建议不要在同一个模块中同时使用exports和module.exports;

2.5 Node.js 中的模块化规范

Node.js 遵循 CommonJS 模块化规范,该规范规定了模块的特性以及模块之间如何相互依赖。

CommonJS 指定:

①在每个模块中,module变量代表当前模块。

②模块变量是一个对象,其exports属性(即module.exports)为外部接口。

③加载模块其实就是加载模块的module.exports属性。 require() 方法用于加载模块。

© 版权声明
THE END
喜欢就支持一下吧
点赞48 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片