模块化
ES6 的模块化的基本规则或特点:
1:每一个模块只加载一次,每一个 JS 只执行一次,如果下次再去加载同目录下同文件,直接从内存中读取。一个模块就是一个单例,或者说就是一个对象;
2:每一个模块内声明的变量都是局部变量,不会污染全局作用域;
3:模块内部的变量或者函数可以通过 export 导出;
4:一个模块可以导入别的模块
一、导入和导出
1. 导出
导入:
2. 只取需要的
3. 导出数目太多时(无需一一对应)
4. 推荐写法
1. 什么是 AMD、CMD、CommonJs?
AMD(异步模块定义)是 RequireJS 在推广过程中对模块定义的规范化产出,它是一个概念,而 RequireJS 实现这个概念。可以通过 require 引用加载。
RequireJS 特点是依赖前置,即在定义前面通过数组的形式加载所有的依赖。
CMD(同步模块定义)是 SeaJS 在推广过程中对模块定义的规范化产出,SeaJS 是 CMD 这个概念的实现。特点是就近依赖,即哪里用到依赖就在哪里引入,即用即返回(同步概念)
CommonJs 规范通过 module.exports 定义,前端浏览器并不支持,推荐在后端 nodeJs 中使用