“从“ lodash”导入{pick};”之间的区别;和“从'lodash / pick'导入”;

时间:2018-11-15 13:55:52

标签: javascript webpack ecmascript-6 import lodash

两者之间有什么区别

import { pick } from 'lodash';

import pick from 'lodash/pick';

(请注意,第二个是'lodash/pick',而不仅仅是'lodash'。)

它们各自如何影响包装袋的尺寸?

它们是否导入lodash的完全相同的部分?

它们比较快吗?

1 个答案:

答案 0 :(得分:7)

lodash模块是一个汇总模块,它从其各个单独的模块(例如lodash/pick)导入和重新导出。

所以:

  • import { pick } from 'lodash';加载完整的lodash模块,然后仅从其中导入一个功能。
  • import pick from 'lodash/pick';仅加载lodash/pick模块并获得其默认导出(pick)。
  

它们各自如何影响捆的大小?

这取决于捆扎机可以进行摇树的程度。如果pick是您使用的lodash的唯一部分,并且捆绑程序可以弄清楚,那应该差不多。但是捆扎机在其摇树的程度和质量方面有所不同。

  

它们是否会导入lodash的完全相同的部分?

将相同的内容导入模块,但方式非常不同(请参见上文)。

  

它们比较快吗?

就运行时性能而言,它们应该大致相似,当然不必担心。

关于捆绑时间,捆绑器要做的工作越多,花费的时间就越长;其中包括弄清楚,尽管您要导入lodash,但仅使用pick

如果您确实只需要pick,则第二种形式应减少捆扎机的工作量。

但是在大​​小等方面,您可能应该尝试使用特定的设置和整体代码,以找出哪种更适合您。