2017-02-23 144 views

回答

2

當你分配你的出口對象將其調試沒有定義和模塊are run in strict mode,沒有。這是無效的。如果你覺得你必須導出一個命名對象,你必須首先聲明它。

let debug; 
export default debug = {}; 

請注意,您不能聲明變量並將其導出到同一行中。

export default const debug = {}; // invalid 

MDN

請注意,這是不可能使用VAR,出租或常量與出口默認。

+0

謝謝。我在問,因爲我正在用jspm構建它,它確實抱怨「調試」沒有被定義。我最終做了你發佈的內容。 – riyuyu

+1

*「有效,因爲它會運行?是的。」*不完全。由於模塊處於嚴格模式,並且您無法在嚴格模式下分配給未聲明的變量,所以會引發運行時錯誤。 –

+0

@FelixKling謝謝,我很習慣與transpilers一起工作,我完全忘記了這一點。答案固定。 – Gerrit0

4

默認導出語法是正確的。

但一個在這裏抓住變量'調試'需要decalred。

你這樣做如下:

export default { 
    myfunction: myFunction 
} 

const deb = { 
    myfunction: myFunction 
} 
export default deb;