es6从下划线导入

时间:2016-10-09 03:18:32

标签: javascript ecmascript-6

我想仔细检查,以确保我了解足够的进口量以确定import {_.identity} from 'underscore'是否可以反对import _ from 'underscore'?如果特定文件,这是下划线的唯一用途。

感谢您的帮助

2 个答案:

答案 0 :(得分:16)

看起来你非常接近!

有几种方法可以做到这一点。

IMO最干净的方法就是这样:

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

允许您这样调用这些方法:

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

' {map,reduce} = ...'部分是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'

虽然我不建议使用这些名字!

答案 1 :(得分:1)

导入:import * as _ from 'underscore'

https://underscorejs.org/#map

示例:

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