RickyC
V2EX  ›  Vue.js

vue3 的安装包那么大, 500 多 K, 不会很慢吗?

  •  1
     
  •   RickyC · Nov 19, 2020 · 6620 views
    This topic created in 2181 days ago, the information mentioned may be changed or developed.

    比 vue2 大了几倍

    在不使用 CLI, 而是用<script src="vue.global.js">加载的情况下, 是不是会比 vue2 加载慢?

    34 replies  •  2020-11-20 12:50:16 +08:00
    dumbass
    dumbass
    Nov 19, 2020 via iPhone
    1
    不算大了吧,你随便加载几张图片就几 m 了
    murmur
    murmur
    Nov 19, 2020
    2
    肯定不会是直接全部加载啊,template 编译器不要,打包成 release,再来个树抖,少不少

    就算直接引用咋了,gzip 后的大小在宽带下也可以接受,当年 12306 直接前端加载几十兆的列车时刻表都干得出来,只要你 cdn 够牛逼
    RickyC
    RickyC
    OP
    Nov 19, 2020
    3
    @bojackhorseman 可是每个页面都要加载这个 500k 的东西
    murmur
    murmur
    Nov 19, 2020
    4
    @RickyC 有缓存啊
    Jirajine
    Jirajine
    Nov 19, 2020 via Android
    5
    还真有人用这种直接引用的方式用?我还以为这种用法只是 vue 用来彰显自己“易上手”呢。
    回到你的问题,有缓存的情况下,带宽不会造成太大影响。
    luob
    luob
    Nov 19, 2020
    6
    RickyC
    RickyC
    OP
    Nov 19, 2020
    7
    @luob 你的第 2 个文件是 520KB, 你下载下来看看
    RickyC
    RickyC
    OP
    Nov 19, 2020
    8
    @Jirajine 不是服务器带宽呀; 浏览器运行一个 500 多 KB 的程序, 浏览器不会慢吗?
    randyo
    randyo
    Nov 19, 2020 via Android
    9
    gzip 以后就很小了
    ljpCN
    ljpCN
    Nov 19, 2020 via Android
    10
    @RickyC 代码规模跟运行效率没有直接的正相关关系。
    randyo
    randyo
    Nov 19, 2020 via Android
    11
    @RickyC 加上 ui 库,打包单 js 文件 1M 一个微前端应用都有。。。
    qiaobeier
    qiaobeier
    Nov 19, 2020
    12
    现代浏览器的渲染是渐进的,如果基础包稍大会拖累之后所有内容的渲染效果。
    不过没有对比数据的支撑,我这话其实没有多大的参考价值。
    JerryCha
    JerryCha
    Nov 20, 2020
    13
    图片:老子比你大多了
    v7offJ3MsdbC1IhU
    v7offJ3MsdbC1IhU
    Nov 20, 2020 via iPhone
    14
    包的大小,和空间复杂度有关系,和时间复杂度 有什么绝对的关系?
    by73
    by73
    Nov 20, 2020❤️1
    15
    不要光看大小啊,楼上的 unpkg 还启用了 br 压缩,完整代码传输只占了 110KB 左右。如果你觉得不满意还能用 production 版,https://unpkg.com/[email protected]/dist/vue.global.prod.js ,大小只有 100KB,br 压缩后传输只有 30KB,这不算大了。。

    另外,核心框架其实一般都不算大,对比于业务 /样式这样的动辄数 MB 大小的资源。。
    Kasumi20
    Kasumi20
    Nov 20, 2020
    17
    @dahhd 你家空间复杂度是看代码数量吖

    这个 500KB 是没有混淆的开发版, production 版本肯定要小很多...
    不要小瞧计算机, 几十 M 真的不是什么问题
    QingXuJiaZhi
    QingXuJiaZhi
    Nov 20, 2020
    18
    @RickyC 这些框架的发展,与浏览器的改进、电脑硬件的进步是同时进行的,如果会拖慢浏览器,这些框架就发展不起来(或者会花更多精力去优化)。

    至于浏览器为什么不怕被这 500KB 拖慢,那就是硬件发展和浏览器底层优化的问题了。
    RickyC
    RickyC
    OP
    Nov 20, 2020
    19
    @by73 谢谢, 终于找到这个 production 版了, 我以为还叫 .min.js
    autoxbc
    autoxbc
    Nov 20, 2020
    20
    不要因为有些网站卡顿就怀疑现代浏览器的性能,是那些网站的代码有问题

    对于绝大多数网站,只要是认真写的代码,浏览器性能缩水 2 个数量级也不会卡
    SilentDepth
    SilentDepth
    Nov 20, 2020
    21
    @RickyC #8 对于现代计算机 /浏览器的性能,500KB 真不是啥问题,上 MB 的都没见卡过
    35aZ4P8mT576683q
    35aZ4P8mT576683q
    Nov 20, 2020 via Android
    22
    楼上用图片对比的过分了,js 加载是会阻断页面渲染的,图片不会,用户观感能一样吗
    gzip 和 CDN 都是蹩脚的理由,是只是优化,不能从源头解决问题
    直接用 script 便签引用毫无办法
    用 cli 会有 tree shaking,如果再做个代码分割体积会小很多
    用 nuxt 等框架做服务端渲染也是个办法
    myCupOfTea
    myCupOfTea
    Nov 20, 2020
    23
    @liberty1900 js 也可以做到不阻断页面渲染啊
    gouflv
    gouflv
    Nov 20, 2020 via iPhone
    24
    在 ie 年代的 jq,有多大你造吗
    yaphets666
    yaphets666
    Nov 20, 2020
    25
    问题不大.vue3 引入了 tree shaking 技术. 没有用到的模块直接摇落.
    oneend
    oneend
    Nov 20, 2020
    26
    5G:500kb 都要考虑? 当我是空气啊
    litujin1123
    litujin1123
    Nov 20, 2020
    27
    @Jirajine 看一下 php 渲染的 html 页面,不用这样你怎么用?
    love
    love
    Nov 20, 2020
    28
    你直接引用整个当然很大了,还是要事先 cli 编译才能小。

    另外 500K 也不算大,我的用 react 的小程序是 791K,只因用了个第三方 UI 框架。
    passerbytiny
    passerbytiny
    Nov 20, 2020 via Android
    29
    请善用缓存机制,库文件只需要下载一次,不要每进一次页面就下载一次。当然,除了 html,浏览器不会全速加载其他东西,所以 js 还是要尽量压缩,不然 200k 的 js 就可能让人不进首页。
    keepeye
    keepeye
    Nov 20, 2020
    30
    用了 element-ui iview 之类的岂不是更大?纠结这个干啥,该上 cdn 上 cdn 就是了
    Vegetable
    Vegetable
    Nov 20, 2020
    31
    讨论质量每况愈下啊。
    文件大小上来说,你看这个文件 500k,但是网络传输是压缩过的,只有 111k,同时你没有选对文件,正确的 prod.js 网络传输只有 40k 。
    然后是你说的 500k 会不会对浏览器造成负担,这么说也没错,但是这个负担小到基本可以忽,我倒是希望微信开发团队有你这种极客精神。
    vision1900
    vision1900
    Nov 20, 2020
    32
    现在的 Web 前端框架就是 bloated,这点没必要为其辩解,是实实在在的问题
    gzip,cdn,tree shaking,代码分割,服务端渲染都是常见的优化方式
    zjsxwc
    zjsxwc
    Nov 20, 2020
    33
    老项目 vue1.x 传输 27k 实际解压后 75k,

    vue2 、3 也都在传输 100k 左右吧。
    JayLin1011
    JayLin1011
    Nov 20, 2020
    34
    推荐使用 react 和 angular 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2055 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    ♥ Do have faith in what you're doing.