2016-10-09 104 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