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

React DOM-仅导入渲染会产生与导入整体/默认值相同的束大小

华升
2023-03-14

我有一个网页配置,成功地启用了树摇动。然而,我发现令人沮丧的是,无论我是将react dom作为默认导出导入,还是只导入render(我唯一需要的函数),根据Webpack bundle analyzer,最终捆绑包中的大小都是一样的。高达114kb。Webpack的建议包大小为244kb,因此仅使用React DOM就占用了将近一半的空间。为什么会这样?有什么办法吗?

import { render } from "react-dom";
// or
import ReactDOM from "react-dom";
// both give same 114kb output in final bundle :(

共有1个答案

邢法
2023-03-14

只有在某些代码未使用且可以安全删除的情况下,摇树才有效。不幸的是,React-DOM几乎使用了它导出的所有代码,而且有很多。

我建议看看Preact(https://preactjs.com/),React的另一种实现。Preact核心是3kb,几乎与React完全兼容,为了完全兼容,还提供了preact-compat插件。

它更小更快,所以是双赢的。

 类似资料:
  • 我读了无数关于python中相对导入的讨论,我认为它如此令人困惑的原因之一是它在一个python版本之间发生了变化(我的版本是3.6)。但这里的罪魁祸首似乎是PyCharm(除非我弄错了..)我想知道是否有人找到了解决这个问题的办法。对于具有此布局的项目: 假设aa.py在文件中包含一些fuction,如果我编写这个导入: 因此,为了让PyCharm高兴,我可以将添加到导入中,然后错误似乎就解决了

  • 模块“Transformer”解析为非模块实体,不能使用此构造导入。 如何导入类?其实我只是想利用那堂课。我不希望指令在我的代码中产生附带效应。我只想用它:'(

  • 人js main.js 当运行main时。我犯了个错误 谢啦

  • 问题内容: 我正在使用将CSV导入MySQL表。表格的字段之一存储着我在表格结构中定义的邮政编码数据。 在CSV中,此字段有时为空。当我执行查询时,MySQL将发出如下警告: 我尝试将字段重新定义为,这会创建相同的警告,而MySQL不允许。有什么建议吗? 问题答案: 空值被解释为空字符串(’‘),而不是NULL,因此未使用默认值。 如果要显式控制这些空字符串的处理,最好的办法是将它们加载到用户变量

  • 我正在使用VSCode并尝试将项目中跨多个文件的导入写入方式更正为更高性能的格式——VSCode是否具有促进这一点的功能?它可以通过内置的查找和替换来完成吗?或者其他一些VSCode功能能够做到这一点吗? 我得到的导入看起来是这样的(<code>substance ux</code>是真实模块名的模糊版本,因为我不需要特定于模块的答案): 或者也许: 我需要将其转换为这种样式,以匹配我们项目中其他