前言
为了爬出这个坑,尝试了百度出来的N多种方法,然而并未奏效。
最后经过两篇文章的综合测试,成功出坑。
AntD官方传送
根据官方文档配置,跳到高级配置
当你不想EJECT抛出配置文件,又想对Create-React-App脚手架生成的框架进行自定义配置时候,我们需要对 create-react-app 的默认配置进行自定义,这里我们使用 react-app-rewired 。
引入 react-app-rewired 并修改 package.json 里的启动配置。由于新的 react-app-rewired@2.x 版本的关系,还需要安装 customize-cra。
$ yarn add react-app-rewired customize-cra less less-loader
//或者使用下面的npm或者cnpm
$ npm install react-app-rewired customize-cra less less-loader -D
使用上面的命令下载相关包文件。在 package.json 中,需要重新配置script段
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
}
然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。
module.exports = function override(config, env) {
// 这里输入你想配置的所有你所想
return config;
};
按需引入,精简开发和生产模式下的消耗,在引入antD模块的时候,会自动引用它的样式
$ yarn add babel-plugin-import
//或者
$ npm install babel-plugin-import -D
// babel-plugin-import是一个用于按需加载组件代码和样式的 babel 插件,我们尝试安装它并修改 config-overrides.js 文件。
配置上面我们已经自定义的 config-overrides.js 文件,并修改写入
const { override, fixBabelImports } = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: true, //官方指导style:'css',但是按需引入很多样式是less写的,所以需要改写成true
}),
);
自定义主题色
上面我们已经做好了按需引入,当你需要自定义主题色,还需要配置 config-overrides.js 文件。
引入customize-cra模块里的addLessLoader,并配置相关参数。
const { override, fixBabelImports, addLessLoader } = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: true,
}),
addLessLoader({
javascriptEnabled: true,
modifyVars: { "@primary-color": "#FF2DBD" }
})
);
网友评论