当前位置: 首页 > 知识库问答 >
问题:

如何减少React Leaflet的捆绑大小?

谢正初
2023-03-14

我有一个Gatsby.js项目,其中我的包的解析大小是3.92MB。其中1.1MB是传单src.js。传单似乎也提供了只有508KB的floate.js。阅读本期后,每当我导入传单时,我总是导入较小的版本,如下所示:

import L from "leaflet/dist/leaflet"

不管怎样,每当我运行Webpack Bundle Analyzer时,都会导入传单src.js传单.js:Webpack Bundle Analyzer Result

我提到的GitHub问题似乎暗示了如何配置webpack以使用优化版本,但我真的很难弄清楚如何做到这一点。

任何帮助都将不胜感激。

共有1个答案

陆烨烁
2023-03-14

所以这可能是一个如何反应的问题——传单正在进口传单。虽然从您的代码到传单的任何直接引用都可以使用从"传单/磁盘/传单"选项导入L,但react-传单源和构建代码只是从"传单"导入,假设您有传单作为对等依赖项。所以这意味着反应传单带来了未缩小的版本,正如这里提到的。

正如react传单作者莱康所说,你必须自己处理这件事。您必须找到一种方法,告诉webpack将所有对“传单”模块的引用替换为指向“传单/目录/传单”文件的说明。您可以从使用webpack重定向导入问题或NormalModuleReplacement插件开始。

此外,这对您自己的代码也有帮助,因为您可以从“传单”导入L,如果您正确设置了Web包,它将重定向到缩小版本。

 类似资料:
  • 当我运行来捆绑我的React应用时,一旦捆绑完成,下面的webpack捆绑分析器就会启动,显示我的应用捆绑包是由什么组成的: 虽然我对此并不乐观,但这似乎是一个相当大的构建,这可能会减慢我的应用程序的速度。 d3似乎是我的捆绑包中最大的部分之一,而且d3似乎被捆绑了两次——一次是单独捆绑,一次是与d3 tip捆绑。(我的React应用程序是一个图形化/d3密集型应用程序,我在整个应用程序中使用了几

  • 问题内容: 我正在开发一个 Java Web应用程序 ,其中包括 一个applet 。该小程序依赖于两个jar文件: JFreeChart(用于在客户端绘制图) -1.7 mb(jar文件的大小) MySqlJdbcConnector(用于将在客户端捕获的数据存储到远程数据库)-. 7 mb(JAR文件的大小) 现在,问题是上述两个jar文件的大小。我的小应用程序jar (myApplet.jar

  • 问题内容: 让我们比较一下c:Hello_world.c: Hello_world.go: 都编译: 还有,这是什么? 大约1Mb的世界。你在跟我开玩笑吗?我做错了什么? (仅限Hello_go-> 893K) 问题答案: 文件较大是否有问题?我不知道Go,但是我认为它会静态链接某些运行时库,而C程序则不是这种情况。但是,只要程序变大,就不必担心。 如上所述这里,静态链接Go运行时是默认的。该页面

  • 问题内容: 我们将Java 6 JRE与我们的应用程序安装程序捆绑在一起,以便可以在任何计算机上运行,​​但这会使应用程序变得更重。因此,我们计划减小JRE的大小。如果有人完成了此类任务,您能否提供指导以继续前进? 问题答案: 查看JRE目录中的README文件。“可选文件和目录”部分列出了一些文件(如果将它们与应用程序打包在一起,可以从Oracle / Sun JRE中删除)。 创建安装时,我使

  • 我正在使用和作为模块绑定器编写一个web应用程序。到目前为止,我的代码非常轻,整个文件夹的大小是25kb。 然而,我的是从创建的,其大小为2.2MB。在使用标志运行优化后,它将捆绑包减少到700kb,这仍然非常大。 我已经查看了文件,它的大小是130kb。 有没有可能webpack产生了这么大的文件,或者我做错了什么? webpack.config.js 编辑 package.json:

  • 当我使用这样的命名导入时,我需要理解 webpack包中是否只包含渲染方法或整个模块,特别是在使用树抖动时,通过在babel配置中将模块设置为false,让webpack来处理它们? 在导入react的情况下也是如此 正确的方法是什么?