Create React App 支持 Less Modules 的配置说明
Create-React-App 版本:v4.0.1
1. 未执行yarn eject的情形下
@craco/craco(Create React App Configuration Override - 配置扩展库)版本:v5.8.0
craco.config.js配置文件代码内容如下:
const CracoLess = require('craco-less'); const CracoAntDesign = require('craco-antd'); const path = require('path'); module.exports = { plugins: [ // 针对Less的相关配置(如module样式) { plugin: CracoLess, options: { lessLoaderOptions: { lessOptions: { javascriptEnabled: true }, }, modifyLessRule: function() { return { test: /\.module\.less$/, exclude: /node_modules/, use: [ { loader: 'style-loader' }, { loader: 'css-loader', options: { modules: { localIdentName: '[local]_[hash:base64:6]', }, }, }, { loader: 'less-loader' }, ], }; }, }, }, // `Ant Design`相关配置 { plugin: CracoAntDesign, options: { customizeThemeLessPath: path.join( __dirname, 'src/antd.customize.less', ), }, }, ], };
2. CRA原始工程已被eject的情形下
CRA v4.0.1版本eject后直接运行可能会报错,提示“找不到@babel/plugin-syntax-jsx” !
这里我们手动安装一下: yarn add -D @babel/plugin-syntax-jsx
因为工程中,我们还需要用到less和less-loader,所以先安装下:
yarn add -D less less-loader
webpack.config.js文件中(v4.0.1版本的第535行之后,sass相关配置之后)增添如下代码:
{ test: lessRegex, exclude: lessModuleRegex, use: getStyleLoaders( { importLoaders: 3, sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment, }, 'less-loader' ), sideEffects: true, }, { test: lessModuleRegex, use: getStyleLoaders( { importLoaders: 3, sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment, modules: { getLocalIdent: getCSSModuleLocalIdent, }, }, 'less-loader' ), }, // lessRegex 在上部自行定义: const lessRegex = /\.less$/; // lessModuleRegex 在上部自行定义: const lessModuleRegex = /\.module\.less$/;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2018-11-24 git push error: ! [rejected] failed to push some refs to . . .