什么是模块化 , 模块作用域的好处是什么 , 模块化的规范

什么是模块化

模块化:解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元 (简单来说就是一个js文件中可以引入另一个js文件的数据。)

编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块

模块化拆分的好处是什么(模块化的好处):

  1. 提高代码的复用性
  2. 提高了代码的可维护性
  3. 可以实现按需加载

什么是模块作用域 , 它的好处是什么?

和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,外部文件是访问不到的,这种模块级别的访问限制,叫做模块作用域

防止了全局变量污染、文件依赖等问题的产生

Node中模块的三大分类

  1. 内置模块(内置模块是由 Node.js 官方提供的,例如 fspathhttp 等)

  2. 自定义模块(用户创建的每个 .js 文件,都是自定 义模块)

  3. 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,( 使用前需要先下载 

模块规范

CommonJs跟ES6应该用的最多

  • CommonJS 规范:nodejs中遵守的就是commonjs规范。

  • ES6 模块化规范:(前后端通用的模块化规范;Node.js、Vue、React 中都能使用!)

  • CMD 和 AMD 模块化规范(较少使用): CMD--sea.js, AMD-require.js

  • UMD 叫做通用模块定义规范(Universal Module Definition),它可以通过运行时或者编译时让同一个代码模块在使用 CommonJs、CMD 甚至是 AMD 的项目中运行。它没有自己专有的规范,是集结了 CommonJs、CMD、AMD 的规范于一身。

CommonJs模块化的规范

  1. Node.js遵循了CommonJs模块化规范 , CommonJs规定了模块的特性和各模块之间如何相互依赖
  2. CommonJs规定:
  • 每个模块内部,module 变量代表当前模块

  • module 变量是一个对象,它的 exports 属性(即 module.exports)是对外的接口

  • 加载某个模块,其实是加载该模块的 module.exports 属性。require() 方法用于加载模块

Guess you like

Origin blog.csdn.net/weixin_59769148/article/details/120628317