前端模块化开发
一、什么是模块
模块是一个实现特定功能的文件,需要什么模块就加载什么模块
将一个复杂的程序按照一定的规则,抽离组合形成一个模块,模块与模块之间是相互独立,也有可能是相互依赖,模块内部的数据外部是不可见的,可以在模块内部进行导出(暴露),外部就可以使用了
- 模块化的好处
- 避免变量污染
- 高复用性
- 高维护性
- 方便依赖关系管理
二、模块的化的过程
- 全局function模式
- 编码:将不同的功能封装成不同的全局函数
- 问题: 污染全局命名空间,容易引起命名冲突,造成问题,
- namespace模式:简单对象封装
- 作用: 解决变量污染、冲突
- 问题: 数据不安全,在外部可以随意修改 模块内部的代码
- IIFE模式:函数自调用(闭包)
- 作用: 数据不能随意修改,只能访问导出的内容
- 导出内容: 传递window对象
- IIFE模式增强:引入依赖
- 引入依赖
三、引入模块过多会遇到的问题
-
请求过多
引入多个模块,会产生多个请求,导致了请求变多