一、ES6的模块的基本概念
1、在 ES6 前, 实现模块化使用的是 RequireJS。
2、ES6 的模块化分为导出(export) @与导入(import)两个模块。模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。
3、每个模块都有自己的上下文,每一个模块内声明的变量都是局部变量,不会污染全局作用域。
4、每一个模块只加载一次(是单例的), 若再去加载同目录下同文件,直接从内存中读取。
二、export 与 import基本用法
/*-----export [test.js]-----*/
let myName = "Tom";
let myAge = 20;
let myfn = function(){
return "My name is" + myName + "! I'm '" + myAge + "years old."
}
let myClass = class myClass {
static a = "yeah!";
}
export { myName, myAge, myfn, myClass }
/*-----import [xxx.js]-----*/
import { myName, myAge, myfn, myClass } from "./test.js";
console.log(myfn());// My name is Tom! I'm 20 years old.
console.log(myAge);// 20
console.log(myName);// Tom
console.log(myClass.a );// yeah!