exportdefault和export区别
2.在⼀个⽂件或模块中,export、import可以有多个,export default仅有⼀个
3.通过export⽅式导出,在导⼊时要加{ },export default则不需要
4.
(1) 输出单个值,使⽤export default
(2) 输出多个值,使⽤export
(3) export default与普通的export不要同时使⽤
⽰例:
//a.js
export const str = "blablabla~";
export function log(sth) {
return sth;
}
对应的导⼊⽅式:
//b.js
import { str, log } from 'a'; //也可以分开写两次,导⼊的时候带花括号
//a.js
const str = "blablabla~";
export default str;
其实此处相当于为str变量值"blablabla"起了⼀个系统默认的变量名default,⾃然default只能有⼀个值,所以⼀个⽂件内不能有多个export default。
对应的导⼊⽅式://b.js import str from 'a'; //导⼊的时候没有花括号
本质上,a.js⽂件的export default输出⼀个叫做default的变量,然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要⽤⼤括号包含
import的⽂件会⾃动执⾏⼀次。
import会加载且仅加载⼀次导⼊的模块
ES6模块化与commonjs、amd区别:
ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输⼊和输出的变量。CommonJS 和 AMD 模块,都只能在运⾏时确定这些东西。
模块化统⼀:
/
/ 第⼀组
export default function crc32() { // 输出
// ...
}
import crc32 from 'crc32'; // 输⼊
import语句// 第⼆组
export function crc32() { // 输出
// ...
};
import {crc32} from 'crc32'; // 输⼊
上⾯代码的两组写法,第⼀组是使⽤export default时,对应的import语句不需要使⽤⼤括号;第⼆组是不使⽤export default时,对应的import语句需要使⽤⼤括号。
export default命令⽤于指定模块的默认输出。显然,⼀个模块只能有⼀个默认输出,因此export default命令只能使⽤⼀次。所以,import命令后⾯才不⽤加⼤括号,因为只可能唯⼀对应export default命令。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论