天天看點

關于es6的export與import

在關于import導入的時候,碰到一點疑惑?

看代碼裡,有的時候導入是:import XXComponent from './XXCiomponent.vue' (這是導入一個元件)

有的時候是:import {a, b, c} from './xxUtil'

就不太明白為什麼有的時候要"{}",而有的時候不用?查了下資料,了解如下:

說到import,那麼就要說到export,因為import導入的就是先要有export導出,看下面代碼的export:

// A子產品導出
export let str = '這是一段文字';
export function func() {
    console.log('func方法')
}
-------------------------------
// B子產品導入
import {str, func} from './A'
           
// A子產品導出
export default "這是一段文字"
----------------------------
// B子產品導入
import s from './A'
           
// A子產品導出
export default function() {
    console.log('列印内容')
}
---------------------------
// B子產品導入
import funcc from './A'
           

看一下上面第一段代碼和2,3的導出的差別:前面export的時候指定了變量名,而後面2個沒有指定變量名,而是用的default(為子產品指定預設輸出)

再看一下他們import時的差別:

1 當指定了變量名,則import時需要對應A子產品中指定的變量名來導入,而default則名字随便B子產品導入時定義

2 當指定了變量名,則import時需要使用"{}"來進行導入,而default不用"{}"

是以就是:如果使用default這種預設值導出的方式,則另一個子產品導入時可以随便定義名字  且  不需要使用 "{}"