如图,引入antd-mobile后为了实现按需加载以及自定主题的功能,需要下载
依赖包babel-plugin-import和react-app-rewired。而由于react-app-rewired在2.0之后的版本删除了injectBabelPlugin函数,需要下载customize-cra对配置加载组件config-overrides进行配置,代码块如下。
const { override, fixBabelImports, addLessLoader } = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd-mobile',
libraryDirectory: 'es',
style: true, //支持加载less 需要下载less 和less-loader
}),
addLessLoader({
javascriptEnabled: true,
modifyVars: { '@primary-color': '#25b864' },
}),
);
比较疑惑的就是,在网上查阅的资料中,大部分的代码块与我上面发的几乎一致,但却只能实现按需打包的功能,而自定义主题的功能却不能生效。
然后我试着在create-react-app中引入antd并且进行同样的修改,自定义主题功能是生效的。
问题来了,是否customiz-cra函数只对antd完全支持,而对antd-mobile并不完全兼容?
如果不完全兼容,是否意味着只能下载2.0之前的react-app-rewired进行antd-mobile引入的配置加载的修改?
求解惑