react16.8|react16.8 按需引入antd+自定义theme
一、配置less
【react16.8|react16.8 按需引入antd+自定义theme】在配置less之前,我使用create-react-app
,得到React
版本为^16.8.6
。
- 安装依赖并解构目录:(可以在命令前加
sudo
确保不会出现权限问题)
解构后,我得到的webpack版本为yarn add babel-plugin-import 或 npm install babel-plugin-import
yarn less-loader 或 npm install less-loader
yarn eject 或 npm run eject
4.28.3
,config
文件夹长这样:文章图片
image.png
于是,打开
webpack.config.js
修改配置:在第42行附近修改代码为:
// style files regexes
const cssRegex = /\.css$/;
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
const lessRegex = /\.less$/;
//新增
const lessModuleRegex = /\.module\.less$/;
//新增
在第327行附近修改代码为:
oneOf: [
{
...//其他配置
},
...//其他配置//配置less-loader(新增)
{
test: lessRegex,
exclude: lessModuleRegex,
use: getStyleLoaders({ importLoaders: 2 }, 'less-loader'),
},
{
test: lessModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
modules: true,
getLocalIdent: getCSSModuleLocalIdent,
},
'less-loader'
),
},
//EndOf配置less-loader(新增)...//其他配置
]
二、配置antd定制主题 修改
package.json
:"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"import",
{
"libraryName": "antd",
"libraryDirectory": "es",
"style": true//这里是 true 不是 'css'
}
]
]
}
在
webpack.config.js
第110行附近修改代码为:文章图片
image.png
if (preProcessor) {
let loader = {
loader: require.resolve(preProcessor),
options: {
sourceMap: isEnvProduction && shouldUseSourceMap
}
};
if (preProcessor === "less-loader") {
loader = {
...loader,
options: {
modifyVars: {
//自定义主题
"primary-color": " #1890ff",
'border-radius-base': '2px'
},
javascriptEnabled: true
}
};
}
loaders.push(loader);
}
更多样式修改可以看文档~
推荐阅读
- Stream详解
- IDEA使用Maven管理项目包,缺少pom文件中引入的依赖包
- 模块和包的引入总结
- Vue组件开发之异步组件详解
- 1.前端引入jeDate日期控件
- Spring|Spring Boot parent 或者 spring-boot-dependencies引入spring boot
- 伦敦市长萨迪克汗Crossrail受挫,转进准备引入租金管控。
- 在ARKit项目如何引入一个3D模型
- ztree|ztree 拖拽
- 2018-05-29|2018-05-29 Django 模板文件引入静态文件