全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-23 5 分钟 ✍️ juanwangdev

CSS 代码分割

Vite 构建时 CSS 的分割策略与 JS chunk 分割相关。

CSS 分割策略

场景CSS 处理
同步导入提取到主 CSS 文件
异步导入随 chunk 单独提取

同步导入 CSS

JavaScript
// main.js
import './styles/main.css'

构建后:

JavaScript
dist/
├── index.js
├── index.css    # CSS 提取到主文件

异步导入 CSS

JavaScript
// 异步加载组件
const About = () => import('./views/About.vue')

构建后:

JavaScript
dist/
├── index.js
├── index.css
├── About-xxx.js      # 异步 chunk
├── About-xxx.css     # CSS 单独提取

注意:异步 chunk 的 CSS 单独提取,按需加载。

CSS 合入 JS

JavaScript
export default defineConfig({
  build: {
    cssCodeSplit: false  # CSS 全部合入主文件
  }
})

CSS 分割配置

text
export default defineConfig({
  build: {
    // 默认开启 CSS 分割
    cssCodeSplit: true
  }
})
cssCodeSplit效果
true异步 chunk CSS 单独文件
false所有 CSS 合入主文件

CSS 加载顺序

text
1. 加载 index.html
2. 加载主 CSS(阻塞渲染)
3. 加载主 JS
4. 异步加载 chunk 时加载对应 CSS

CSS chunk 命名

text
export default defineConfig({
  build: {
    rollupOptions: {
      output: {
        assetFileNames: (assetInfo) => {
          if (assetInfo.name.endsWith('.css')) {
            return 'css/[name]-[hash][extname]'
          }
          return 'assets/[name]-[hash][extname]'
        }
      }
    }
  }
})

要点总结

  • 同步导入 CSS 提取到主文件
  • 异步导入 CSS 随 chunk 单独提取
  • cssCodeSplit 控制分割策略
  • 默认开启 CSS 分割

📝 发现内容有误?点击此处直接编辑

← 上一篇 CSS Minify 配置
下一篇 → CSS 预处理器高级配置
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库