export default 和 export 區(qū)別:
1.export與export default均可用于導(dǎo)出常量、函數(shù)、文件、模塊等
2.你可以在其它文件或模塊中通過(guò)import+(常量 | 函數(shù) | 文件 | 模塊)名的方式,將其導(dǎo)入,以便能夠?qū)ζ溥M(jìn)行使用
3.在一個(gè)文件或模塊中,export、import可以有多個(gè),export default僅有一個(gè)
4.通過(guò)export方式導(dǎo)出,在導(dǎo)入時(shí)要加{ },export default則不需要
1.export
//a.js
export const str = "blablabla~";
export function log(sth) {
return sth;
}
對(duì)應(yīng)的導(dǎo)入方式:
//b.js
import { str, log } from 'a'; //也可以分開(kāi)寫兩次,導(dǎo)入的時(shí)候帶花括號(hào)
2.export default
//a.js
const str = "blablabla~";
export default str;
對(duì)應(yīng)的導(dǎo)入方式:
//b.js
import str from 'a'; //導(dǎo)入的時(shí)候沒(méi)有花括號(hào)
使用export default命令,為模塊指定默認(rèn)輸出,這樣就不需要知道所要加載模塊的變量名
//a.js
let sex = "boy";
export default sex(sex不能加大括號(hào))
//原本直接export sex外部是無(wú)法識(shí)別的,加上default就可以了.但是一個(gè)文件內(nèi)最多只能有一個(gè)export default。
其實(shí)此處相當(dāng)于為sex變量值"boy"起了一個(gè)系統(tǒng)默認(rèn)的變量名default,自然default只能有一個(gè)值,所以一個(gè)文件內(nèi)不能有多個(gè)export default。
// b.js
本質(zhì)上,a.js文件的export default輸出一個(gè)叫做default的變量,然后系統(tǒng)允許你為它取任意名字。所以可以為import的模塊起任何變量名,且不需要用大括號(hào)包含
import any from "./a.js"
import any12 from "./a.js"
console.log(any,any12) // boy,boy