什么是es6模块化
es6模块化是浏览器端与服务器端通用的模块化开发规范,其设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,及输入和输出的变量。在ES6模块化中,每个js文件都是一个独立的模块,导入模块用import关键字,导出用expost关键字。
本教程操作环境: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 //定义模块私有成员n1 let n2 = 20 //定义模块私有成员n2 (外界访问不到n2 因为他没有共享出去) function show() {} //定义模块私有方法 show export 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模块化的详细内容