本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
前端模块化规范的分类
在 ES6 模块化规范诞生之前,JavaScript 社区已经尝试并提出了AMD、CMD、CommonJS等模块化规范。
但是,这些由社区提出的模块化标准,还是存在一定的差异性与局限性、并不是浏览器与服务器通用的模块化标准,例如:
AMD 和 CMD 适用于浏览器端的 Javascript 模块化
CommonJS 适用于服务器端的 Javascript 模块化
什么是es6模块化
ES6 模块化是浏览器端与服务器端通用的模块化开发规范。
它的出现极大的降低了前端开发者的模块化学习成本,开发者不需要再额外学习AMD、CMD或CommonJS等模块化规范
ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。
ES6模块化规范中定义:
每个js文件都是一个独立的模块
导入其它模块成员使用import关键字
向外共享模块成员使用expost关键字
用法:
① 默认导出与默认导入
② 按需导出与按需导入
③ 直接导入并执行模块中的代码
默认导出与默认导入
默认导出的语法:
export default 默认导出的成员
默认导入的语法:
import 接收名称 from "模块标识符"
let n1 = 10 //定义模块私有成员n1let n2 = 20 //定义模块私有成员n2 (外界访问不到n2 因为他没有共享出去)function show() {} //定义模块私有方法 showexport default { //使用export default 默认导出语法 向外共享n1 和 show 两个成员 n1,show}
注意点:
① 每个模块中,只允许使用唯一的一次export default,否则会报错
② 默认导入时的接收名称可以任意名称,只要是合法的成员名称即
按需导入与按需导出
按需导入语法:
export 类型 成员
按需导出语法:
import { 成员 } from "模块标识符"
import aixos from "@/utils/request.js"// login 请求export const userLogin = (data) => { return aixos({ method: "post", url: "/login", data })}// register 请求export const userRegister = (data) => { return aixos({ method: "post", url: "/register", data })}
注意:
① 每个模块中可以使用多次按需导出
② 按需导入的成员名称必须和按需导出的名称保持一致
③ 按需导入时,可以使用 as 关键字进行重命名
④ 按需导入可以和默认导入一起使用
以上就是什么是es6模块化的详细内容,更多请关注php中文网其它相关文章!