JavaScript中普通接口和默认接口的区别
Contents
ES6的模块化功能主要有两个关键字: export
和import
。
export
主要用于模块对外暴露接口。
import
用于引入其他模块暴露的接口。
export
export
有两种用法:
export default foo
export foo
export
与export default
均可用于导出常量、函数、文件、模块等
一种是直接导出,一种是导出默认。区别在于export default
导出的是一个默认的变量
这两种的区别在于:
export default
在一个模块里只能有一个,但是export
可以有多个- 通过
export
方式导出,在导入时要加**{ }**,export default
则不需要 export
能直接导出变量表达式,export default
不行 例如:export var foo='...'
是合法语句,但是export default var foo='...'
是不合法的- 模块中通过
export
方式导出的可以重新赋值,但是通过export default
导出的无法修改 例如:
let e1='e1e1e1';
let e2='e2e2e2';
export {e1};
export default e2;
e1='hahahaha';
e2='hahahaha';
//执行结果
console.log(e1);
console.log(e2);
hahahaha
e2d2e2
import
用export (default)
导出的模块,在其他模块中可以通过import
导入
不同的是:
使用export foo
导出的,导入时需要加个大括号
import {foo} from './a'
通过as
重命名
import {foo as e1} from './a'
使用export default foo
导出的,导入时不用加入大括号
import foo from './a'