Ant Design StyleAnt Design Style
快速上手
最佳实践
API
更新日志
⌘ K

Table of Contents

应用代码迁移步骤
1. 替换入口文件
2. 替换样式代码
基础知识
简介
CSS in JS 快速入门
CSS in JS 写法对比
设计理念与实施策略
快速上手
书写样式
切换主题
自定义主题
进阶使用
Babel 插件
SSR 集成
组件研发
集成 styled
🚧 stylish 复合样式
CSSinJS 样式库性能对比
从 Less 迁移
Less 应用自动化迁移
Less 应用手动迁移
Less 组件迁移
🚧 CSSinJS 与 Less 的编译差异
上一篇
Less 应用自动化迁移
下一篇
Less 组件迁移

相关资源

Ant Design
Ant Design Pro
Ant Design Pro Components
Umi-React 应用开发框架
Dumi-组件/文档研发工具
qiankun-微前端框架

社区

Medium
Twitter
yuqueAnt Design 语雀专栏
Ant Design 知乎专栏
体验科技专栏
seeconfSEE Conf-SEE Conf-蚂蚁体验科技大会

帮助

GitHub
更新日志
讨论

more products更多产品

yuque语雀-知识创作与分享工具
AntVAntV-数据可视化解决方案
EggEgg-企业级 Node.js 框架
kitchenKitchen-Sketch 工具集
xtech蚂蚁体验科技
Copyright © 2022-2024
Made with ❤️ by 蚂蚁集团 - AFX & 数字科技
‌
‌
‌
‌

迁移 Less 应用

createStyle 可以非常简单地创建和书写样式代码,且能够获得智能提示与类型检测,对于书写新的样式来说完全足够。但是我们手中仍然存在大量的旧项目代码,如何快速地迁移到 antd-style 中?

应用代码迁移步骤

以 Ant Design Pro 中的 HeaderSearch 为例,和样式相关的核心代码如下:

1. 替换入口文件

将样式文件从 index.less 改为 style.ts,并添加 const { styles } = useStyles() 的 hooks 引入。这样,JSX 层的代码就改好了。

diff

2. 替换样式代码

将样式代码从 less 语法改为 createStyles 语法,首先重命名 index.less 为 style.ts,然后在顶部添加

diff

接下来使用一些工具,可以帮助我们快速将 css 转成 CSS Object,例如:

  • https://transform.tools/css-to-js :Transform 的 css to JS 工具,嵌套可以正常处理,但是转换后会保留 '.' 前缀,仍然需要手动处理掉;
  • https://staxmanade.com/CssToReact/ : 这个可以直接直接转换成需要的目标样式,但似乎对 css 嵌套的支持不太理想;
  • https://marketplace.visualstudio.com/items?itemName=rishabh-rathod.css-to-js&ssr=false#qna :可以一键转换的 VSCode 插件,但对 less 变量兼容性不好;
ts

并将嵌套的样式对象改成平级:

ts

最后将色值替换为 antd 的 token

diff

最终效果如下:

当完成迁移后,得益于 TS 良好的类型编程能力,在拥有动态化主题能力的同时,我们还获得了类名下钻跳转的能力,提升研发体验。