- create-react-app版本: 5.0.0 (通过
npm info create-react-app
命令进行版本查询) - ant-design版本: 4.16.13 (通过package.json文件查询)
- less版本: 3.12.2 (通过package.json文件查询)
- less-loader版本: 7.0.2 (通过package.json文件查询)
- npm版本: 8.3.0 (通过
npm -v
命令进行版本查询)
npx create-react-app test1 —template typescript
npm add --save antd
npm add react-app-rewired customize-cra
npm add babel-plugin-import
把原来的
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
改为
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
}
const { override, fixBabelImports } = require("customize-cra");
module.exports = override(
fixBabelImports("import", {
libraryName: "antd",
libraryDirectory: "es",
style: "css",
})
);
{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}
使用customize-cra来覆写webpack底层配置(不清楚customize-cra用法的可以去github上customize-cra库查看说明,Ant Design官网也有相关的配置说明)
const { override } = require('customize-cra');
const path = require("path");
module.exports = override(
config =>{
config.resolve.alias = {
"@": path.resolve(__dirname, "src")
};
return config;
},
);
const { override, addWebpackAlias } = require('customize-cra');
const path = require("path");
module.exports = override(
addWebpackAlias({
["@"]: path.resolve(__dirname, "src")
}),
);
// 配置@路径智能提示
"path-intellisense.mappings": {
"@": "${workspaceRoot}/src"
}
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
}
}
先安装低版本sass: npm add sass-loader@7.3.1 node-sass
后在 node_modules/react-scripts/config/webpack.config.js里加上以下代码
安装低版本less和less-loader: npm I less@3.12.2 less-loader@7.1.0
然后在 node_modules/react-scripts/config/webpack.config.js里
- 找到css顶部配置,添加less配置