2026-10-19 15:32:47
CSS process 生产流程主要包括浏览器渲染流程中的CSS处理和使用特定工具或框架(如Vite、Tailwind CSS)时的CSS处理流程。
浏览器渲染流程中的CSS处理样式计算(Recalculate Style):
过程:主线程遍历DOM树,为每个节点计算最终的样式,即Computed Style。
特点:预设值变为绝对值,相对单位变为绝对单位。
布局(Layout):
过程:遍历DOM树的每个节点,计算其几何信息,如宽高、位置等。
结果:生成布局树,布局树与DOM树并非一一对应。
Vite的模块化构建:
特点:基于浏览器原生ESM实现快速冷启动,按需编译。
开发阶段:采用unbundled模式直接返回源码,通过HTTP头协商缓存实现热更新。
生产构建:使用Rollup进行Tree-shaking和代码优化,生成静态资源。
PostCSS的转换机制:
流程:解析CSS、AST转换、生成新CSS。
功能:通过插件对CSS进行各种处理,如自动添加浏览器前缀、嵌套语法处理等。
Tailwind CSS的JIT模式:
开发时:实时扫描项目文件中的类名,按需生成CSS规则(增量编译)。
生产环境:通过content配置静态分析,移除未使用的CSS(PurgeCSS机制),实现CSS的最小化和优化。
这两个方面共同构成了CSS在生产环境中的完整处理流程,确保了CSS的高效应用和优化。