它为啥不 link 一个外部 CSS 而是在当前页写一大堆 css ? 我用 chrome F12 看了下,实际上外部 css 也就第一次会去下载,后面都是调用本地缓存了啊
1
ibegyourpardon 2019-06-10 14:10:26 +08:00 1
可以减少一个 HTTP 连接。
↑ 注意,这个说法不严谨,有问题。 当 CSS 或者其他一些相关依赖文件发生变化的时候,从工程化的角度来说,更有利于做到及时更新。 ↑ 注意,这个更不严谨。 但,不是全错。对前端的优化这么多年确实是一个不断追求并调整和找到适合自己最佳实践的过程。 |
2
zakarycode 2019-06-10 14:25:01 +08:00
这个主要还是看需要吧,刚刚去看了下淘宝和百度的首页,也都不是只是单纯的内置 CSS,而是部分 CSS 通过 style 标签加载,另一部分通过 link 标签加载。
这样做其实很明确就是内置加载的样式是用来保证页面正常显示的,避免一些重要的模块没有办法正常显示,包括骨架屏;当然更有可能的是在工程打包的过程中直接将一些极小的文件直接插入到页面上的(在组件内部直接写入的样式也会以这样的方式呈现),用于避免小文件浪费带宽的优化方案,然后其他的样式则通过懒加载等其他的方式进行加载。 |
3
HuHui 2019-06-10 14:39:08 +08:00 via Android
就前公司而言,防止缓存
|
4
uqf0663 2019-06-10 14:44:51 +08:00
你无法想象某些用户的网络环境有多么的极端差( N 年前我住在广州城中村的时候用的是房东提供的宽带,高峰期就体会过这种情况),也许他就加载到了 index.html,至于什么 js 什么 css 因为网络太差,加载失败,这个时候如果没有些必要的样式在页面上,那么他整个页面根本没法看。
|
5
DefoliationM 2019-06-10 16:38:41 +08:00 via Android
很多都是動態模板,直接用模板替換到網頁裡更方便
|
6
akira 2019-06-10 16:56:01 +08:00
忘记在哪看过的一个说法了,好像说是建议和页面结构有关的 css 直接内嵌网页 这样可以加快渲染速度
|