reactjs - Preact bundle size 与 create-react-app 相比太大了吗?
问题描述
我正在考虑将我的项目转换为 Preact 以缩小我的包大小。我想看看 Preact 是否确实创建了一个更小的包。但是,经过比较,差异比我预期的要小。
我在实施中做错了吗?
我preact build --analyze
使用 webpack-bundle-analyzer 分析了 Preact 包并用于 React 应用程序。
解决方案
正如 Benjamin 所说,Preact-CLI 不只是输出你的包,而是输出一些项目。
首先,它默认输出 CJS 和 ESM。ESM 更好,较新的浏览器将使用它,而较旧的回退到 CJS。这本质上是捆绑包大小的自动复制(10kb x2 = 20kb 总)。这是一件好事,只有 1 个会发送给您的用户。
此外,我们会自动提供您的用户可能需要的任何 polyfill。同样,这些只提供给需要它们的浏览器。如果有人在 IE 中加载您的网站,他们将获得允许其工作的 polyfill。现代 Chrome 甚至不会要求它。
那里还有你的服务人员。最小,但包括在内。
这些项目加起来都比你的单个 React 包要少。如果需要,请禁用左侧窗格中的所有附加功能以更好地进行比较。希望这更符合您的期望。
推荐阅读
- angular - npm install -g ionic 奇怪的行为
- python - MultiIndex 数据帧的平均值
- html - 如何使带有徽标的导航栏居中?
- jenkins - 合并詹金斯文件 | withcredentials 和 sshagent
- java - Spring Cloud Config 动态 Vault 令牌
- database-migration - 使用 Flyway 等数据库迁移工具播种数据是一种好习惯吗?
- node.js - 单独使用 node-sass 和 Express 中间件之间的性能差异
- c# - SSIS - 搜索字符串 - 脚本任务
- javascript - NextJS 门户,我的控制台返回“目标容器不是 DOM 元素 nextjs”,因为我已经很好地定义了它,这怎么可能?
- vb.net - 我不确定用于将来自 MC 访问的数据插入到 vb.net 上的表单中的正确 SQL 语句