作者:小情人恩恩baby | 来源:互联网 | 2023-06-08 11:37
一、react项目中使用less1.安装配置npmi-Dlessless-loader2.查看webpack配置npmruneject此操作不可逆,生成新的目录。 3.修改其中的webpack.config.js文件 二、react16.12.0中修改antd的主题样式npmi-Dbabel-plugin-
一、react项目中使用less
1. 安装配置
npm i -D less less-loader
2. 查看webpack配置
此操作不可逆,生成新的目录。
3. 修改其中的webpack.config.js文件
二、react 16.12.0 中修改antd的主题样式
npm i -D babel-plugin-import
2. 在package.json中找到对babel的配置,并进行如下修改
"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"import",
{
"libraryName": "antd","style": true
}
]
]
},
3. 修改config/webpack.config.js文件中getStyleLoaders的定义
const getStyleLoaders = (cssOptions, preProcessor, newOptions) => { //加参数newOptions
并找到preProcess
if (preProcessor) {
loaders.push(
{
loader: require.resolve('resolve-url-loader'),
options: {
sourceMap: isEnvProduction && shouldUseSourceMap,
},
},
{
loader: require.resolve(preProcessor),
options: {
...newOptions, // 在此处把newOptions加进来
sourceMap: true,
},
}
);
}
修改之前对less-loader的配置
{
test: lessRegex,
exclude: lessModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
},
'less-loader',
{ JavascriptEnabled: true, modifyVars: { "@primary-color": "#00965e", } } // 新增
),
sideEffects: true,
},
{
test: lessModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
modules: {
getLocalIdent: getCSSModuleLocalIdent,
},
},
'less-loader',
{ JavascriptEnabled: true, modifyVars: { "@primary-color": "#00965e", } } // 新增
),
},
重启。完成!