es6中的模块化
程序员文章站
2023-12-21 13:20:16
...
模块的功能主要由 export
和 import
组成.每一个模块都有自己单独的作用域,模块之间的相互调用关系是通过 export
来规定模块对外暴露的接口,通过import
来引用其它模块提供的接口。同时还为模块创造了命名空间,防止函数的命名冲突。
export,import 命令
//test.js
export var name = 'Rainbow'
ES6将一个文件视为一个模块,上面的模块通过 export
向外输出了一个变量。一个模块也可以同时往外面输出多个变量。
//test.js
var name = 'Rainbow';
var age = '24';
export {name, age};
定义好模块的输出以后就可以在另外一个模块通过import
引用。
//index.js
import {name, age} from './test.js'
整体输入,module指令
//test.js
export function getName() {
return name;
}
export function getAge(){
return age;
}
通过 import
* as
就完成了模块整体的导入。
import * as test form './test.js';
通过指令 module
也可以达到整体的输入。
module test from 'test.js';
test.getName();
export default
可以使用
export
default
命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名。不用关心模块输出了什么,通过 export
default
指令就能加载到默认模块,不需要通过 花括号来指定输出的模块,一个模块只能使用 export default 一次
// default 导出
export default function getAge() {}
// 或者写成
function getAge() {}
export default getAge;
相当于给变量起了一个系统默认的变量名default
// 导入的时候不需要花括号然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要用大括号包含
import any from './test.js';
一条import
语句可以同时导入默认方法和其它变量.
import defaultMethod, { otherMethod } from 'xxx.js';