不得不说现在的前端应用越来越卡,越来越臃肿了

2018-12-10 16:57:37 +08:00
 nohup

公司最近招了个前端,我是写 Python 后台的,他主要负责前端,主要就是做企业工具类的,放在外网给合作伙伴的业务人员用。
几个月下来开发过程中也没什么问题,那个前端最后开发倒是开发出来了,但是就是体积有点爆炸,6MB+的体积,经过 nginx 压缩也只能 5MB 的样子。我很纳闷不就几个页面吗?登录页、图表、表格,功能页也就二十来个,讲道理应该也没什么东西吧,他用的好像是 raect,吹的还很牛 B,什么单页面应用,函数式编程,组件化模块化。
然而每次打开页面都要等个半分钟,我们外网的小水管支撑不了这么多 4MB+的一次性请求,有时候用户用着不爽了干脆就投诉到我们老总了,搞得我每次都很尴尬。他们的投诉理由是服务器响应慢、当机了。。老总也天天问我怎么回事,能不能搞定,我说这是前端的问题他不信。。。
所以不得不感叹,现在的前端发展路线是不是走歪了?我记得以前我写个 login.html 效果贼漂亮,2s 就加载进来了,我该如何和前端沟通?是不是技术选型上这个 raect 不太合适呢?

7851 次点击
所在节点    前端开发
65 条回复
jasonyang9
2018-12-10 17:03:51 +08:00
2 个地方都打成 raect 不是强迫症都不能忍了,自动 TAG 都歪成 raect 了
yidinghe
2018-12-10 17:05:29 +08:00
自从有了 electron,我再也不觉得 Java 桌面应用打开慢了。
wly19960911
2018-12-10 17:09:40 +08:00
单页面应用当然体积大,那我司的应用( angular )用户是不是要报警了? 不过经过压缩的压缩包只有 6 M,首屏 gzip 加载 1.2 M,我不会 react,react 没有模块化的加载吗,这样基本不可能每次请求 4m 啊,而且水管小不考虑下 CDN 吗。
TomatoYuyuko
2018-12-10 17:11:08 +08:00
不上单页浑身难受系列
20 个页面直接写就行了,单页不做优化初次加载就是会慢一些
sherryqueen
2018-12-10 17:12:14 +08:00
不做分包的吗?
my101du
2018-12-10 17:13:38 +08:00
可能把本来放到 dev-dependency 的放到正式打包列表里面去了.... 毕竟以前我也经常这么干,然后骂 antd pro (匿)
cstome
2018-12-10 17:15:08 +08:00
React 不太清楚,像 Vue,不同模块是可以懒加载的,不一定要打包成一个 JS。

SPA 应用用 CDN 分发比较合理。


好吧,我用过的大部分 SPA 应用体验起来确实不咋地,所以我也不认可盲目追求 SPA 的行为。
jy02534655
2018-12-10 17:15:51 +08:00
这个没加缓存么,加了缓存的话会好点,也就是首次访问比较慢。感觉还是前端能力问题吧...
abelmakihara
2018-12-10 17:16:29 +08:00
你先让他做成按需加载的
xrr2016
2018-12-10 17:16:49 +08:00
登录页、图表、表格,功能页也就二十来个
xrr2016
2018-12-10 17:19:13 +08:00
@xrr2016 我觉得要是用了什么 D3,Echart 等库,加上一些图片,二十来个页面 dist 出来的也会很大
jy02534655
2018-12-10 17:27:35 +08:00
@xrr2016 用到这些可以调整加载策略的,启动的时候不加载,界面出来之后再偷偷加载就行了。
banricho
2018-12-10 17:30:45 +08:00
水平问题不要怪技术栈
ShineSmile
2018-12-10 17:34:38 +08:00
动静分离
异步加载

禁不住想起技术栈鄙视链 后端瞧不起 web 端 web 端瞧不起桌面端
lygmqkl
2018-12-10 17:36:46 +08:00
合理的设计思路和系统架构(前端)
模块+异步加载
启用压缩
CDN 或者类似
另外。。。少加载点不需要的库。。。
sucai
2018-12-10 17:37:36 +08:00
按需加载+gzip 压缩了解一下,估计最后可以做到 1M 以内,我们现在的 500 多 K,也是引了两个图表库
laike9m
2018-12-10 17:37:45 +08:00
你做个最简单的页面,同一套后端,然后加载速度巨快,老版能不信是前端问题?
tao1991123
2018-12-10 17:37:55 +08:00
你不懂 + 他太水 = react 不适合你们的偏见
learnshare
2018-12-10 17:38:56 +08:00
跟技术选型有关,但并不怪 React
yhxx
2018-12-10 17:48:37 +08:00
我理解你是在吐槽前端水平,不过 6M 的文件为什么 nginx (应该是 gzip 或者 deflate 吧?)压缩之后变成 4M+?
正常情况应该是 1-2M 左右才对吧?

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

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

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

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

© 2021 V2EX