用 Python 写的网站前端用 react 首次打开网站超级慢

2019-09-07 16:13:57 +08:00
 chiva

求助个问题,最近做的一些网站部署完以后第一次打开网站超级慢,应该与服务器无关,之后再打开就很快了,这个问题找了很久没找到答案,网站是 python+react。

5409 次点击
所在节点    Python
30 条回复
zhixuanziben
2019-09-07 22:19:02 +08:00
打开 chorme 控制台,看看哪个环节耗时过长?然后再找办法优化
hspeed18
2019-09-07 22:25:52 +08:00
看一下 waterfall,你是不是单页应用?
brickyang
2019-09-07 23:33:31 +08:00
先看下有没有把 CSS 和 JS 分开,如果没有,用 MiniCssExtractPlugin。

然后看下 JS 文件大小。如果太大了,用 webpack-bundke-analyzer 分析一下,很可能是打了大包进去,尽量按需打包以及分包。

最后,静态文件用 CDN。
est
2019-09-08 00:00:31 +08:00
chiva 写的网站前端用 react 首次打开网站超级慢
qsnow6
2019-09-08 01:37:24 +08:00
单独测试下接口,不要一上来就是语言背锅
akira
2019-09-08 01:47:48 +08:00
网站发出来,我们帮你看下就知道了
jxman
2019-09-08 09:51:44 +08:00
方案 1: 改架构
看样子 lz 是直接客户端渲染的,可以考虑做页面直出,这样页面呈现会快很多。

方案 2:直接优化现有方案(不一定能达到目标)
chrome lighthouse 走一波,然后根据测评建议做优化。
压缩图片最优先,其他的手段看测评结果再选。
palmers
2019-09-08 13:53:55 +08:00
根据你的描述 应该是前端依赖的问题, 你看看 vendor-xx.js 体积 然后使用动态加载 根据路由 不要一次加载全部依赖, 然后去掉一些不必要的依赖,去除重依赖 比如 moment 常常只是用来加减一些时间 这种就太浪费了
skallz
2019-09-09 10:00:27 +08:00
需要做的工作,第一,路由懒加载,第二,插件按需引入,第三,静态资源请走 cdn,第四,部分文件请进行压缩,第五,可以先显示一个屏幕内容,其他内容使用流加载或按钮等形式触发加载,第六,不要为了复用接口而导致首屏使用的接口需要加载不必要的数据,大概就这些
qlhai
2019-09-09 16:22:28 +08:00
你把 url 贴出来,我们给你看下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/598863

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX