为什么导出方式会有两种?export default 和 export 区别是什么

1.export与export default均可用于导出常量、函数、文件、模块等
2.在一个文件或模块中,export、import可以有多个,export default仅有一个
3.通过export方式导出,在导入时要加{ },export default则不需要
4.
(1) 输出单个值,使用export default
(2) 输出多个值,使用export 【注意:引入时要加花括号 import { A } from " B" 】
(3) export default与普通的export不要同时使用

示例:

1.export
//a.js
export const str = “blablabla~”;
export function log(sth) {
return sth;
}
对应的导入方式:

//b.js
import { str, log } from ‘a’; //也可以分开写两次,导入的时候带花括号

2.export default
//a.js
const str = “blablabla~”;
export default str;
其实此处相当于为str变量值"

"起了一个系统默认的变量名default,自然default只能有一个值,所以一个文件内不能有多个export default。
对应的导入方式: //b.js import str from ‘a’; //导入的时候没有花括号
本质上,a.js文件的export default输出一个叫做default的变量,然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要用大括号包含

import的文件会自动执行一次。

import会加载且仅加载一次导入的模块

ES6模块化与commonjs、amd区别:

ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD 模块,都只能在运行时确定这些东西。

模块化统一:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43101443/article/details/88357136