2016-10-09 103 views
5

我想仔細檢查一下,以確保我瞭解進口信息,知道是否可以做import {_.identity} from 'underscore'反對import _ from 'underscore'?這是唯一使用下劃線的特定文件。es6從下劃線導入

謝謝你的幫助

回答

7

看起來你很近!

有幾種方法可以做到這一點。

IMO這樣做最徹底的方法是這樣的:

import { map, reduce, somethingElse } from 'underscore' 

讓您可以調用這些方法像這樣:

map(things, thing => { 
    ... 
}) 

的 '{圖,減少} = ...'部分是es6s解構賦值。 有關更多詳情,請參閱the Mozilla docs page

另一種方式是做:

import map from 'underscore/map' 
import reduce from 'underscore/reduce' 

就個人而言,我不是這方面的一個大風扇,因爲它可以啓動是有點更麻煩更多方法在拉昇,但它確實有一個輕微優點,你可以任意命名參考:

import mappy from 'underscore/map' 
import reducerify from 'underscore/reduce' 

雖然我不會建議使用這些名字!

+0

很酷,所以我只是略去'_.'? – pertrai1

+1

我會小心從下劃線/ lodash命名導入,因爲像map和reduce這樣的函數已經有一個JS實現,它會創建一個碰撞。通常將它們命名爲_map,_reduce或者像@Spen所建議的那樣古怪可能更好。 – thesublimeobject