0

我正在考虑将我的项目转换为 Preact 以缩小我的包大小。我想看看 Preact 是否确实创建了一个更小的包。但是,经过比较,差异比我预期的要小。

预演,39kb: 在此处输入图像描述

反应 45kb: 在此处输入图像描述

我在实施中做错了吗?

preact build --analyze使用 webpack-bundle-analyzer 分析了 Preact 包并用于 React 应用程序。

4

1 回答 1

1

正如 Benjamin 所说,Preact-CLI 不只是输出你的包,而是输出一些项目。

首先,它默认输出 CJS 和 ESM。ESM 更好,较新的浏览器将使用它,而较旧的回退到 CJS。这本质上是捆绑包大小的自动复制(10kb x2 = 20kb 总)。这是一件好事,只有 1 个会发送给您的用户。

此外,我们会自动提供您的用户可能需要的任何 polyfill。同样,这些只提供给需要它们的浏览器。如果有人在 IE 中加载您的网站,他们将获得允许其工作的 polyfill。现代 Chrome 甚至不会要求它。

那里还有你的服务人员。最小,但包括在内。

这些项目加起来都比你的单个 React 包要少。如果需要,请禁用左侧窗格中的所有附加功能以更好地进行比较。希望这更符合您的期望。

于 2021-03-13T11:32:15.690 回答