webpack “import { pick } from 'lodash';“和“从'lodash/pick'导入拾取;”

csbfibhn  于 2023-10-19  发布在  Webpack
关注(0)|答案(1)|浏览(254)

有什么区别

  1. import { pick } from 'lodash';

  1. import pick from 'lodash/pick';

(Note第二个是'lodash/pick',而不是'lodash'。)
它们各自如何影响捆绑包的大小?
他们导入的lodash的部分是否完全相同?
他们比较快吗?

olqngx59

olqngx591#

lodash模块是一个 * 汇总模块 *,可以从其各个单独的模块(如lodash/pick)导入和重新导出。
所以:

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

它们各自如何影响捆绑包的大小?
这取决于你的摇树者能摇到什么程度。如果pick是你使用的lodash的唯一部分,并且你的编译器可以计算出来,它应该是相同的。但是摇树者在摇树的程度和质量上各不相同。
他们进口的是完全一样的lodash零件吗?
它们将相同的东西导入到 * 你的模块 * 中,但方式非常不同(见上文)。
他们比较快吗?
在运行时性能方面,它们应该大致相似,当然没有什么可担心的。
在捆绑时间方面,你的打包者要做的工作越多,花费的时间就越长;这包括弄清楚,虽然你导入的是lodash,但你只使用了pick
如果您真的只需要pick,那么第二种形式应该可以减少编译器的工作量。
但在大小等方面,您可能应该对特定的设置和整体代码进行试验,以确定哪一种更适合您。

展开查看全部

相关问题