javascript - 巨大的块大小会减慢网站加载速度
问题描述
我的项目在 React 上的加载速度存在一些问题。我在 Google PageSpeed 上对其进行了测试,看起来很伤心。
谷歌 PageSpeed 评级
我认为主要问题是chunk.js
文件的大小。
Chink 文件的大小
我尝试使用 React Lazy 来提高加载速度,但值非常低。也许有人可以帮我解决这个问题。我在这个项目中使用 React(没有 Redux)和几个库,其中最大的是 Antd、Stripe 和 Google Analytics。后端在 Node/Express + Psql 上工作,主机:Jenkins。
解决方案
也许您可以提供更多详细信息,为什么您的捆绑包那么大。
- 您使用的是自定义 webpack 配置还是 CRA?
- 您是否在测量生产构建输出?
- 您是否将图像包含在您的 JS 中?这可以让你的捆绑高。
我还看到您没有提到 React 路由器,所以我想您没有按路由拆分代码,如果有的话,如果没有,请查看您的 node_modules 和图像。
您可以做的改进是拆分不必要的包,这些包可以在您访问特定页面或交互时延迟加载。在初始页面加载时您不需要 GA。我会对 Stripe 说同样的话,只是在结帐页面上。
您可以使用动态导入功能进行代码拆分(需要 babel 启用)。Webpack 提供了一个非常好的教程。
推荐阅读
- mysql - MySQL 5.7:指定的键太长;最大密钥长度为 1000 字节
- ios - AVPlayer - 检索所有格式的音轨
- web-services - TYPO3 Webservice/Rest API 作为 Extbase 扩展的存储库
- linux - 从私人不安全注册表中提取图像时出现问题
- c# - Xamarin iOS 中的可操作推送通知
- javascript - Vue如何使用当前路由名称为主体设置数据属性
- mysql - 如何从主机连接 MySQL Docker 映像?
- c++ - 空 std::vector
> 函数返回后 - google-drive-api - 使用矩形锚创建评论
- c++ - 为什么在测量 OpenMP 并行化 for 循环和编译器优化的执行时间时 std::chrono 不起作用?