一、配置less
在配置less之前,我使用create-react-app
,得到React
版本为^16.8.6
。
- 安装依赖并解构目录:(可以在命令前加
sudo
确保不会出现权限问题)
yarn add babel-plugin-import 或 npm install babel-plugin-import
yarn less-loader 或 npm install less-loader
yarn eject 或 npm run eject
解构后,我得到的webpack版本为4.28.3
,config
文件夹长这样:
于是,打开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": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
],
[
"import",
{
"libraryName": "antd",
"libraryDirectory": "es",
"style": true //这里是 true 不是 'css'
}
]
]
}
在webpack.config.js
第110行附近修改代码为:
if (preProcessor) {
let loader = {
loader: require.resolve(preProcessor),
options: {
sourceMap: isEnvProduction && shouldUseSourceMap,
}
}
if (preProcessor === "less-loader") { //新增
loader.options.modifyVars = {
'primary-color': '#1DA57A',
'link-color': '#1DA57A',
'border-radius-base': '2px'
}
loader.options.javascriptEnabled = true
} //EndOf新增
loaders.push(loader);
}
最后,看到按钮变色就是成功啦!更多样式修改可以看文档~
完~若有不足,请多指教,万般感谢!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。