~ Node.js 模块化

Node 模块化的相关规则:

  • 如何定义模块:一个 js 文件就是一个模块,模块内的成员是相互独立的;
  • 模块成员的引入和导出 — Node 中,模块的加载机制被称为 CommonJS 规范。

 

 

 

模块化,是指解决一个复杂问题时,自上而下逐层把系统分成若干模块的过程。

对于整个系统来说, 模块是可组合、分解及更换的单元。

在程序开发过程中,随着代码越写越多,单个文件中的代码会越来越长,维护就变得越来越复杂。

为了编写可维护的代码,我们把很多函数分组,分别放在不同的文件中,

这样,每个文件包含的代码就相对较少,很多编程语言都采用这种代码组织方式。

编程领域中的模块化,简单来说就是,遵循一定的规则,把一个大文件拆分成独立且相互依赖的多个小文件。

而,对代码进行模块化拆分与组合时,需要遵循的那些规则,称之为模块化规范


在 Node.js 中,一个 .js 文件,就称之为一个模块( module )。


使用模块化有什么好处呢 ?                            // 传统的非模块化开发的缺点:命名冲突、文件依赖

  • 最大的好处是大大提高了代码的可维护性。
  • 其次,编写代码不必从零开始,当一个模块编写完毕,就可以在其他地方被引用( 我们在编写程序的时候,也经常引用其他模块,包括 Node.js 中内置模块和第三方的自定义模块 )。
  • 使用模块,还可以避免命名冲突,相同名字的函数和变量可以分别存在不同的模块中,简单来说就是,不同模块内部各自使用的变量名和函数名互不冲突。

Node.js 中,模块可以分为:

  • 内置模块:Node.js 官方提供的,在 Node.js 源代码的编译过程中,编译进了二进制执行文件

在 Node.js 进程启动时,部分核心模块就被直接加载进内存中,即内置模块。

内置模块引入时,文件定位和编译执行这两个步骤可以省略掉,并且在路径分析中优先判断

  • 文件模块:在运行时动态加载,需要完整的路径分析、文件定位、编译执行过程,速度比内置模块慢