当前位置: 首页 > news >正文

css-in-js

CSS-in-JS 的核心逻辑

开发者编写 CSS-in-JS → Webpack + Babel 编译 → 生成 JS/CSS 文件 → 浏览器加载 JS → 运行时注入样式 → 组件渲染

核心功能由浏览器完成

  • 动态样式生成:
    组件渲染时,根据当前 props(如主题、状态等)动态计算样式值(例如 ${props => props.color}),生成最终 CSS。
  • ​样式注入:
    将 CSS 动态插入到页面的 style 标签中(首次渲染或 props 变化时触发)
  • 哈希类名生成

2. Webpack 的编译流程

  1. 入口 : src/index.js

  2. 模块构建:分析 import/require 语句,构建依赖

  3. babel转译:CSS-in-JS 代码通常由 Babel 插件处理
    在这里插入图片描述

  4. chunk 分割 优化
    SplitChunksPlugin,
    MiniCssExtractPlugin:将编译后的 CSS 提取为独立文件(若 CSS-in-JS 库支持静态提取)

  5. 输出(Output)​:dist/


静态提取

是一种在构建阶段(如 Webpack、Vite 打包)将 CSS 样式提前提取为独立静态文件(如 .css)的技术。目标是 ​减少浏览器运行时的计算开销

在这里插入图片描述

在这里插入图片描述

相关文章:

  • PyTorch深度学习框架60天进阶学习计划 - 第28天:多模态模型实践(二)
  • 七天免登录 为什么不能用seesion,客户端的http请求自动携带cookei的机制(比较重要)涉及HTTP规范
  • 应用权限组列表
  • 深入理解MySQL日志机制
  • 23种设计模式-抽象工厂(Abstract Factory)设计模式
  • Linux下oa项目部署
  • Selenium工作原理详解
  • # [RPA] 使用八爪鱼进行高效网页数据采集
  • 鸿蒙HarmonyOS NEXT应用崩溃分析及修复
  • 【ROS实战】02-ROS架构介绍
  • 现代美学工业风品牌海报徽标设计PSAI无衬线英文字体安装包 Moldin – Condensed Sans Serif Font
  • oneAPI编译VASP 中 icx icpx和ifx设置 适用于icc和ifort Command not found
  • 初始javascript
  • 信息收集与问答系统流程分析与改进建议
  • 【从零开始学习计算机科学】软件测试(九)Web系统测试 与 数据库测试
  • 属于FPGA的AI红利,正在商业航天中兑现
  • 浅谈Go垃圾回收机制-面试笔记
  • VSCODE右下角切换环境没用
  • MySQL0基础学习记录-下载与安装
  • js基本功(八)
  • 贵州茅台一季度净利268亿元增长11.56%,系列酒营收增近两成
  • 美财长称关税战升级的责任在中方,外交部:关税战、贸易战没有赢家
  • 广东一公司违规开展学科培训被罚没470万,已注销营业执照
  • 准85后青海海北州副州长、州公安局局长李贤荣赴山东临沂挂职
  • 深一度|“凑合过”的利物浦,英超第二冠只求性价比
  • 人民日报头版:上海纵深推进浦东高水平改革开放