V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lygmqkl
V2EX  ›  问与答

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

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

    不算很复杂,但是也不简单,所以定义为中等复杂程度,然后属于后台管理类型的 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  
       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 起的带宽。。。没找到小白鼠。。。
    liprais
        17
    liprais  
       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   ·   实用小工具   ·   1112 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.