【发布时间】:2017-04-01 12:32:16
【问题描述】:
有什么办法可以避免导入整个库而只导入一个函数或部分函数?
例如,使用 lodash 你可以这样做:import has from 'lodash/has';
例如:
import moment from 'moment';
moment.months()
我知道最新的 webpack 可以自动处理它,但问题是针对旧的 webpack (1.0)
【问题讨论】:
-
你试过
import { months } from 'moment' -
目的是什么?你想对图书馆进行摇树还是什么?
-
Moment 无法做到这一点。 Lodash 被设计为解耦库(它以
lodash.*包的形式提供)。瞬间没有。您将以任何方式将整个库包含在您的包中。 -
是的,它正在工作,我的意思是它仍然导入整个库。不管好在,它看起来更好:)
-
@SuryaPurohit 我们无法像在 ES6 模块中那样访问来自
default导出的密钥。为了让它们被访问,它们应该被命名为exports,export months ...(它们不是)。您显示的代码之所以有效,是因为它回退到 CJS 模块 - 它的工作方式始终取决于构建工具的配置方式。而且,不可能从 CJS 模块中摇树任何东西。
标签: javascript ecmascript-6 momentjs