2017-05-21 59 views
0

我對這個片段here感到困惑。導入模塊時會導出{foo as bar}會有什麼影響

//------ underscore.js ------ 
export default function (obj) { 
    ... 
}; 
export function each(obj, iterator, context) { 
    ... 
} 
export { each as forEach }; 

//------ main.js ------ 
import _, { each } from 'underscore'; 
... 

export { each as forEach }部分困惑我。 當我輸入此功能時,是否應該使用 import { each } from 'underscore'import { forEach } from 'underscore'

當我在main.js中使用函數時,export { each }export { eash as forEach }之間有什麼區別?

回答

1

export { each as forEach }部分困惑我。

這意味着「在名稱forEach下輸出局部變量each的值」。

當我輸入此功能時,是否應該使用import { each } from 'underscore'import { forEach } from 'underscore'

import { forEach } from 'underscore' 

,因爲這是該模塊的出口。

當我在main.js中使用函數時,export { each }export { eash as forEach }之間的區別是什麼?

export {each}以名稱each的名義輸出該值。對於其他看到我的第一個答案。

不會有任何區別使用函數,除了你會使用不同的名稱。


FWIW,同樣的事情可以在進口方面來完成:

import { forEach as foo} from 'underscore' 

現在,您可以參考該功能爲foo,而不是forEach

+0

謝謝。費利克斯。所以根據我在我的問題中引用的片段,main.js導入了前兩個導出,對吧? – krave

+2

'import _,{each} from'underscore';'導入默認的模塊導出和名爲'each'的導出。但由於沒有'每個'出口,這是行不通的。 –

相關問題