串行加载多个CSS文件会影响性能吗?
我在做代码分割的时候,把不同页面的样式拆成了多个CSS文件,然后用JS按顺序动态加载。但发现页面渲染变慢了,是不是串行加载的问题?
比如我现在这样加载:
/* page-home.css */
.home-banner {
background: linear-gradient(to right, #4facfe, #00f2fe);
padding: 60px 20px;
}
/* page-about.css */
.about-section {
color: #333;
font-size: 18px;
line-height: 1.6;
}
这两个文件是先后插入到里的,中间还有点延迟。有没有办法让它们并行加载又不破坏样式优先级?
WordPress有现成的解决方案,用
wp_enqueue_style就行,它会自动帮你处理并行加载。比如这样:关键点在于:
1. 用WordPress自带的方式加载,不要手动插link标签
2. 所有样式会在里并行加载
3. 优先级问题不用担心,WordPress会按注册顺序保持样式表顺序
不过要注意,别过度拆分CSS文件。我见过有人把每个组件都拆成单独文件,结果加载了30多个CSS,这反而适得其反。通常一个页面3-5个CSS文件就够了。
插件可以帮你合并压缩这些文件,但那是另一个话题了。现在先用标准方式加载,性能应该就能改善不少。