请大家来讨论下,中等复杂度的 SPA 程序 初次加载大小在 20M 是否能接受? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lygmqkl
V2EX    问与答

请大家来讨论下,中等复杂度的 SPA 程序 初次加载大小在 20M 是否能接受?

  •  
  •   lygmqkl 2019-05-08 17:08:43 +08:00 3094 次点击
    这是一个创建于 2423 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不算很复杂,但是也不简单,所以定义为中等复杂程度,然后属于后台管理类型的 SPA(单页应用)

    最终压缩打包后大小在 20M,想了解下在各位的网络条件下,20M 心里感觉如何是否能接受?

    包括移动和 PC 两个端的使用。

    PS

    1. 不包括静态图片(本来程序内部里也没有太多的图片),用户将来可以上传,这里不在讨论范围内
    2. 非版本更新的情况下,基本可以认为可以缓存全部内容
    3. 模块化加载,一次性读取的文件,并非一次性使用,属于动态加载(貌似是废话,一般都这样做的)

    欢迎广泛参与讨论,谢谢。

    第 1 条附言    2019-05-08 20:16:48 +08:00
    lazy loading 后最大值在 20m,各个页面不同 所以无法说清楚

    不行还是会想办法再优化一些, 已经没有多少依赖在里面了。
    第 2 条附言    2019-05-08 21:59:38 +08:00
    可能是我没说清楚, 打包完整个项目是 20M, 不是首次访问页面的大小。


    然后首次访问页面控制到 1m 以下 貌似真做不到。。。

    谢谢各位的参与, 数据我会在仔细看一下
    22 条回复    2019-05-29 10:08:46 +08:00
    ruandao
        1
    ruandao  
       2019-05-08 17:42:07 +08:00
    无所谓啊
    动态加载,有影响的是, 点击链接到用户可用之间的耗时
    qq316107934
        2
    qq316107934  
       2019-05-08 17:47:27 +08:00
    这是带了多少依赖...可以把不同的依赖拆到不同的 JS,然后懒加载。
    nfroot
        3
    nfroot  
       2019-05-08 18:44:19 +08:00 via Android
    这个是强行 SPA 吧,很怕这种应用,乱用 SPA。。

    最近发现微博就是这种货,别人发个微博给我,我一打开,眼睁睁的看着手机状态栏显示这个页面 1.几 M 的速度跑了 7-8 秒页面才开始展现。。

    一下子感觉回到了十八年前,56kbps 网速的年代。
    nfroot
        4
    nfroot  
       2019-05-08 18:45:38 +08:00 via Android
    好吧才注意到第三条,请忽略我的上一条回复,谢谢
    keepeye
        5
    keepeye  
       2019-05-08 18:48:52 +08:00
    就跟阿里云控制台一样吗?卡的一笔啊
    BreezeInWind
        6
    BreezeInWind  
    &bsp;  2019-05-08 18:50:31 +08:00 via Android
    中等大小是多少个页面?一百个之内?感觉还是有点大
    IsaacYoung
        7
    IsaacYoung  
       2019-05-08 18:52:59 +08:00 via iPhone
    太大
    freak118
        8
    freak118  
       2019-05-08 18:56:57 +08:00
    路由懒加载之后还有 20M ? 为什么这么大啊
    saluton
        9
    saluton  
       2019-05-08 18:57:38 +08:00
    我这网速 20Mbps,10 秒打开,你觉得呢?
    momocraft
        10
    momocraft  
       2019-05-08 19:02:39 +08:00
    如果能保证一两秒看到 UI,还行?
    jihu777
        11
    jihu777  
       2019-05-08 19:59:47 +08:00 via iPhone
    你这是总大小吧…?看入口 js 多大才行。最直观的试试现在首屏加载速度再看怎么做呗
    1OF7G
        12
    1OF7G  
       2019-05-08 20:14:00 +08:00
    不知道你用的什么框架,路由分割是起码的吧。20M 应该是所有路由总大小,一般脚手架都会处理。如果没有,那必须得优化。你打开任意一个页面,看看 network 加载了多少。

    webpack + import()了解一下。初始加载 js 大小超过 1M 就算不及格了。
    learnshare
        13
    learnshare  
       2019-05-08 20:25:21 +08:00
    不能,> 3s 都会感觉很差了
    frozen2013
        14
    frozen2013  
       2019-05-08 21:29:19 +08:00 via Android
    20M 到底是首屏加载的包大小,还是 app 整体的包?如果是前者,那就太过分了。。。
    lygmqkl
        15
    lygmqkl  
    OP
       2019-05-08 22:01:03 +08:00
    @frozen2013 整体 APP 不到 20M build 出来的结果,也就是如果用户所有页面都访问一次, 差不多要这个大小。


    @learnshare 谢谢 返回 3s 感觉还是要看带宽吧。。。 因为我们都是 100M + 所以才来问一下的
    lygmqkl
        16
    lygmqkl  
    OP
       2019-05-08 22:02:29 +08:00
    @1OF7G 就是 build 出来的总大小,感觉有点大 所以来问问,1M 初次加载貌似做不到,2-3m 之间吧。


    @jihu777 说来惭愧 圈子里 问了一圈 都是 100M 起的带宽。。。没找到小白鼠。。。
    F281M6Dh8DXpD1g2
        17
    F281M6Dh8DXpD1g2  
       2019-05-08 22:03:38 +08:00   1
    jira 这货首次打开要下 15m 的资源,我每次清了缓存之后打开 jira 都要十分钟......
    saulshao
        18
    saulshao  
       2019-05-08 22:21:21 +08:00
    20M....Internet 上这个大小我估计比较悬,应该会明显感觉到慢。
    Chingim
        19
    Chingim  
       2019-05-08 23:40:15 +08:00 via Android
    @lygmqkl 大哥,测速度不一定要真是带宽呀,吐血了。devtool 想怎么调就怎么调
    lygmqkl
        20
    lygmqkl  
    OP
       2019-05-28 20:41:56 +08:00
    @Chingim 请教下 devtool 怎么控制带宽? 这个我还真不会,麻烦抽空教一下 谢谢。
    lygmqkl
        22
    lygmqkl  
    OP
       2019-05-29 10:08:46 +08:00
    @Chingim 非常感谢学到一招。。。。 用了这么多年 chrome..... 这里翻车了 哈哈。anyway thx.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5262 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 08:56 PVG 16:56 LAX 00:56 JFK 03:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86