antd官网 按需加载 是如下说的
使用 babel-plugin-import(推荐)
// .babelrc or babel-loader option
{
"plugins": [
["import", {
"libraryName": "antd",
"libraryDirectory": "es",
"style": "css" // `style: true` 会加载 less 文件
}]
]
}
然后只需从 antd 引入模块即可,无需单独引入样式。
当我们配置好了之后,发现并没有生效,难道配置出错了?
我们按照官网配置,肯定是不会错的。
其实是这个脚手架,它默认是不使用.babelrc的,它使用的是package.json中的babel配置和内部配置。
这时需要我们将脚手架的内部配置项暴露出来进行修改,使用 npm run eject这个命令来暴露配置。但是运行
npm run eject
会报出下面的错误:
解决:根据报错信息,需要将代码利用git提交一下
提交完之后,需要再次运行
npm run eject
找到config/webpack.config.js文件,将babelrc:false改为true,意思是启用.babelrc的配置
同时将package.json中的babel下面的 “presets”: [ “react-app” ] 配置到.babelrc中,并将package.json中的babel删除掉
大功告成!