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

2019-06-10 14:07:03 +08:00
 51300520

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

1799 次点击
所在节点    问与答
6 条回复
ibegyourpardon
2019-06-10 14:10:26 +08:00
可以减少一个 HTTP 连接。

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

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

↑ 注意,这个更不严谨。


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

这样做其实很明确就是内置加载的样式是用来保证页面正常显示的,避免一些重要的模块没有办法正常显示,包括骨架屏;当然更有可能的是在工程打包的过程中直接将一些极小的文件直接插入到页面上的(在组件内部直接写入的样式也会以这样的方式呈现),用于避免小文件浪费带宽的优化方案,然后其他的样式则通过懒加载等其他的方式进行加载。
HuHui
2019-06-10 14:39:08 +08:00
就前公司而言,防止缓存
uqf0663
2019-06-10 14:44:51 +08:00
你无法想象某些用户的网络环境有多么的极端差( N 年前我住在广州城中村的时候用的是房东提供的宽带,高峰期就体会过这种情况),也许他就加载到了 index.html,至于什么 js 什么 css 因为网络太差,加载失败,这个时候如果没有些必要的样式在页面上,那么他整个页面根本没法看。
DefoliationM
2019-06-10 16:38:41 +08:00
很多都是動態模板,直接用模板替換到網頁裡更方便
akira
2019-06-10 16:56:01 +08:00
忘记在哪看过的一个说法了,好像说是建议和页面结构有关的 css 直接内嵌网页 这样可以加快渲染速度

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

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

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

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

© 2021 V2EX