暴露方式分为两种:命名暴露和默认暴露
主要区别是:
默认暴露(export default)可以匿名暴露所以一个文件只能暴露一个东西
命名暴露(export)将所有暴露出来的东西作为value并以你对他的命名作为key,整合成对象暴露出来
因此所有暴露出来的东西必须命名
引入的时候要么是引入一个对象要么使用解构的方式
1.//hello.js
export const PI = 3.14
export function hello(){
console.log('Hello ES6');
}
export let person = {name:'viking'};
//main.js
//使用对象解构赋值加载这三个变量
(这种方式的弊端如果有很多方法,括号里就有会很多的方法名字)
import { PI, hello, preson } form './hello';
//也可以将这个模块全部导出
(这种导出方式解决了解构赋值导出方法过多的问题)
import * as util form './hello';
console.log(util.PI) //3.14
2.//使用default关键字来实现模块的默认导出
(这种方法只能导出一个方法)
//hello.js
export default function(){
console.log('hello es6')
}
//main.js
import hello from './hello';
hello();