Reactjs npm包的实际重量是多少?

Reactjs npm包的实际重量是多少?,reactjs,performance,npm,webpack,Reactjs,Performance,Npm,Webpack,我想添加一个图像转盘到个人资料页面,并允许用户查看全屏模式下的图像感谢一个模式。这意味着——如果我没有弄错的话——旋转木马将被导入两次:一次在概要文件组件中,另一次在模态打开时在其顶部 这是一个繁重的过程,我担心性能问题。我曾想过创建自己的旋转木马,但现在已经有很多软件包可以完美地处理手机上的手势等问题。然而,它们的重量有时是可怕的 例如,这个库看起来很完美,它的重量为666kb!然而,在Bundlephobia上,它的重量应该只有36.2kb或8.2kb gzipped。谁是对的 在我的最后一

我想添加一个图像转盘到个人资料页面,并允许用户查看全屏模式下的图像感谢一个模式。这意味着——如果我没有弄错的话——旋转木马将被导入两次:一次在概要文件组件中,另一次在模态打开时在其顶部

这是一个繁重的过程,我担心性能问题。我曾想过创建自己的旋转木马,但现在已经有很多软件包可以完美地处理手机上的手势等问题。然而,它们的重量有时是可怕的

例如,这个库看起来很完美,它的重量为666kb!然而,在Bundlephobia上,它的重量应该只有36.2kb或8.2kb gzipped。谁是对的


在我的最后一个捆绑包中,会有重量
2*666kb
2*36.2kb
2*8.2kb
的滑块吗?保持高流动性/性能所建议的最大重量是多少?

这看起来像是过早优化。不要以这种方式关心您的包大小-如果3kb gzip很大或很小。简单地说,如果您需要该库,请使用它。您将了解,在出现任何包大小问题之前,可能不需要使用库来汇总两个数字

您始终关心的捆绑包大小是gzip值,这是客户端接收并必须“下载”的内容,这需要时间。但正如你所想象的,在家里的电脑上下载30kb并不是问题。在Blairwitch森林中央的旧设备上,它可能是

此外,每个页面/应用程序都会将其发送到客户端一次,因此,如果您的模式中有它,并且您的页面中有它,则不会包含两次。想象一下有一些像Lodash这样的库,它很大并且在每个函数中都使用(如果我夸张的话),你认为它会被包含100次吗


尝试在ui/ux方面优化用户体验,这将是第一个用户将退出您的页面,而不是他必须下载30kb的旋转木马,他甚至不会注意到

无论您将库导入多少次或导入到哪里,它都只包含一次,因此永远不会包含两次。关于捆绑的重量,我猜36kb是缩小的库的大小,8.2kb是这个缩小的gzip版本。因此,如果您的服务器使用gzip压缩其响应,那么8.2kb(加上标题和其他内容)将通过网络下载。