nodeJs模块化

222 阅读2分钟

1.什么是模块化

 官方的意思是:模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性

我理解就是一个js文件可以引入另一个js文件的数据.

(注:这个特点是很基础的,只要是编程语言都有,而2015年之前的js没有,这是当时的一大痛点。)

正因如此,就存在多个js文件都只能放在html文件里面,互相不能引用。

2015年出了ES6,在语法层面就支持模块化,但是浏览器不支持,所以前面学习传统开发时,还是很多个js都放在一个html文件.

2.nodeJs和浏览器的区别

nodeJS支持模块化的而浏览器并不支持

3.模块化的好处

 不会造成变量污染,还有提高了代码的可复用性,可维护性,以及按需加载.

4.nodeJS中模块化的分类

 - 内置模块(由Node.js官方提供的,例如fs,path,http等)
 - 自定义模块(用户创建的每个js文件)
 - 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户的自定义模块,使用前需要先下载

5.导入导出模块

1.  导入:**module.exports** , exports
2.  导出: 1.  自定义模块:const xxx = require(模块文件的相对位置)
          2.  内置模块:const xxx = require(模块的名字)
          3.  第三方模块:const xxx = require(模块的名字)

6.模块化规范

-   **CommonJS** 规范:nodejs中遵守的就是commonjs规范。
-   **ES6** 模块化规范:(前后端通用的模块化规范;Node.jsVueReact 中都能使用)
-   **CMDAMD** 模块化规范(较少使用): CMD--sea.js, AMD-require.js
-   **UMD** 叫做通用模块定义规范(Universal Module Definition),它可以通过运行时或者编译时让同一个代码模块在使用 CommonJsCMD 甚至是 AMD 的项目中运行。它没有自己专有的规范,是集结了 CommonJsCMDAMD 的规范于一身。