一、模块化开发打包工具
1.作用:模块化开发,提高开发效率,降低维护成本。
2.本质:模块打包工具,万物皆模块的设计思想
3.两个核心机制
- laoder机制
- plugin(插件)机制
4.解决了什么问题?
如何在前端项目中更高效的管理和维护项目中的每一个资源
早期项目的模块划分的方式:
(1)文件划分的方式:直接模块在全局,大量模块成员污染全局作用域,没有私有空间,模块增多容易产生命名冲突,无法管理模块与模块之间的依赖关系,维护的过程中很难分辨每个成员所属的模块。
(2)命名空间方式
5.采用的规范是ES modules规范,
ES Modules 规范是 ECMAScript 2015 (ES6) 中才定义的模块系统
是近几年才制定的标准,存在环境兼容的问题
随着 Webpack 等一系列打包工具的流行,这一规范才开始逐渐被普及
其他的规范如下:
common.js规范:它是node.js遵守的模块规范,该规范约定一个文件就是一个模块,每个模块都有相同作用域,通过mudule.export导出成员,再通过require函数载入模块。是同步方式加载机制,启用的时候去加载。
AMD(异步模块定义规范)