react antd样式按需加载配置以及与css modules模块化的冲突问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
通过create-react-app脚手架生成一个项目
然后运行npm run eject 把webpack的一些配置从react-scripts模块弹射出来,
方便自己手工增减,暴露出来的配置文件在app/config下面。
 
1、antd样式按需加载
 
用到babel-plugin-import bebel插件
直接在package.json里面添加配置就可以按需加载了:
 
  "babel": {
    "presets": [
      "react-app"
    ],
    "plugins": [
      [
        "import",
        {
          "libraryName": "antd",
          "libraryDirectory": "es",
          "style": "css"
        }
      ]
    ]
  }
   
现在使用antd组件就不用引用样式了
(官网上是推荐使用react-app-rewired(customize-cra)模块,
自己建一个config-overrides.js对包里的webpack配置进行覆盖,感觉多了一个配置不怎么好。)
 
 
2、antd设置按需加载样式后和css模块化的冲突问题
 
其实webpack.config.js里默认已经写好了配置,即匹配cssModuleRegex的loader设置,
只需要将我们需要模块化的样式文件后缀进行修改
 
文件后缀修改成xxx.module.css即可。
 
 
最终项目里引用样式:
 
入口文件引用全局公共自定义样式=>import './css/common.css';
// common.css文件
.ml20{margin-left: 20px}
 
// jsx文件里使用
<span className=“ml20”>1</span>
 
页面或者组件中引用模块化私有样式=>import style from './xxx.module.css'
 
// xxx.module.css文件
.red{color: red;}
 
// jsx里使用
<span className=“ml20”>1</span>
<span className={style.red}>2</span>

  

posted @   韭菜茄子  阅读(5552)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示