前端 模块化 开发规范
1.概述
传统开发模式的经常会面临一些问题,如命名冲突、文件依赖等,因此需要 通过模块化 解决上述问题。
模块化: 就是把单独的一个功能封装到一个模块中,模块之间相互隔离,但是可以通过通过特定接口公开内部成员,也可以依赖别的模块。
好处: 方便了代码的重用,从而提成了开发效率,并且方便后期维护。
2.浏览器端模块化规范
AMD 典型代表有 Require.js
CMD 典型代表有 Sea.js
3.服务器端模块化规范
CommonJS
- 模块分为 单文件 模块 与 包
- 模块成员导出:module.exports 和 exports
- 模块成员导入:require('模块标识符')
4.ES6模块化
前提: 在 ES6 模块化规范诞生之前,Javascript 社区虽尝试提出 AMD、CMD、和 CommonJS 等模块化规范,但是由于自身存在一定的差异性与局限性,并不是浏览器和服务端通用的模块化标准,例如:
- AMD 和 CMD 只适用于浏览器端的 Javascript 模块化
- CommonJS 只适用于服务端 Javascript 模块化
因此定义了 ES6 模块化规范,是浏览器端和服务端通用的模块化开发规范。
ES6模块化规范定义:
- 每一个 JS 文件都是一个独立的模块
- 导入模块成员 使用 import 关键字
- 暴露模块成员 使用 export 关键字