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

前端问题,百度和淘宝的 CSS 为什么会写在当前页?

  •  
  •   51300520 · 2019-06-10 14:07:03 +08:00 · 1615 次点击
    这是一个创建于 1753 天前的主题,其中的信息可能已经有所发展或是发生改变。

    它为啥不 link 一个外部 CSS 而是在当前页写一大堆 css ? 我用 chrome F12 看了下,实际上外部 css 也就第一次会去下载,后面都是调用本地缓存了啊

    6 条回复    2019-06-10 16:56:01 +08:00
    ibegyourpardon
        1
    ibegyourpardon  
       2019-06-10 14:10:26 +08:00   ❤️ 1
    可以减少一个 HTTP 连接。

    ↑ 注意,这个说法不严谨,有问题。

    当 CSS 或者其他一些相关依赖文件发生变化的时候,从工程化的角度来说,更有利于做到及时更新。

    ↑ 注意,这个更不严谨。


    但,不是全错。对前端的优化这么多年确实是一个不断追求并调整和找到适合自己最佳实践的过程。
    zakarycode
        2
    zakarycode  
       2019-06-10 14:25:01 +08:00
    这个主要还是看需要吧,刚刚去看了下淘宝和百度的首页,也都不是只是单纯的内置 CSS,而是部分 CSS 通过 style 标签加载,另一部分通过 link 标签加载。

    这样做其实很明确就是内置加载的样式是用来保证页面正常显示的,避免一些重要的模块没有办法正常显示,包括骨架屏;当然更有可能的是在工程打包的过程中直接将一些极小的文件直接插入到页面上的(在组件内部直接写入的样式也会以这样的方式呈现),用于避免小文件浪费带宽的优化方案,然后其他的样式则通过懒加载等其他的方式进行加载。
    HuHui
        3
    HuHui  
       2019-06-10 14:39:08 +08:00 via Android
    就前公司而言,防止缓存
    uqf0663
        4
    uqf0663  
       2019-06-10 14:44:51 +08:00
    你无法想象某些用户的网络环境有多么的极端差( N 年前我住在广州城中村的时候用的是房东提供的宽带,高峰期就体会过这种情况),也许他就加载到了 index.html,至于什么 js 什么 css 因为网络太差,加载失败,这个时候如果没有些必要的样式在页面上,那么他整个页面根本没法看。
    DefoliationM
        5
    DefoliationM  
       2019-06-10 16:38:41 +08:00 via Android
    很多都是動態模板,直接用模板替換到網頁裡更方便
    akira
        6
    akira  
       2019-06-10 16:56:01 +08:00
    忘记在哪看过的一个说法了,好像说是建议和页面结构有关的 css 直接内嵌网页 这样可以加快渲染速度
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3280 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:04 · PVG 22:04 · LAX 07:04 · JFK 10:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.