2016-12-09 120 views

回答

4

你是指的第2文件是一個完整的出口默認。 在第5行:

export default { 

// Badge 
badgeBg: '#ED1727', 
badgeColor: '#fff', 

... 

} 

所以,當他們這樣做的import myTheme from '../../themes/base-theme;myTheme他們選擇了導入模塊的變量名。在這種情況下,編譯器將查找default導出。

如果他們會做import { myTheme } from '../../themes/base-theme;那麼就不會有問題,因爲它沒有在出口顯式命名。這樣做是不是指的該default出口而是一個明確呼籲myTheme

我不知道我是有道理的,你可能想給https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/import

2

導出不默認意味着它是一個命名出口

您可以在一個單獨的文件多個命名出口。

例1: export class Theme {}

在這裏,你可以選擇使用它的確切名稱導入該出口。

要使用在其他文件中這一部分,你應該這樣做, import { Theme } from '../../themes/base-theme'

例2:

如果導出爲默認出口爲, export default class Theme {}

然後在另一個文件您導入默認的出口不使用{},這樣, import Theme from '../../themes/base-theme'

每個文件只能有一個默認導出。

雖然它的React約定從文件中導出一個組件並將其導出爲默認導出。

你自由,你導入到重命名默認出口。 import myTheme from '../../themes/base-theme'

相關問題