create-react-app Antd 按需加载 优化包大小

2018-10-19  本文已影响0人  初心不改_0055

在看antd使用的时候官方提到了强烈推荐使用按需加载,按需加载可以在引用组件的时候引入组件对应的样式,而我们通常只会用到一个UI组件库中的极少一部分

首先安装babel-plugin-import

npm install babel-plugin-import --save-dev

然后在根目录(package.json同级)下新建【.babelrc】文件,添加如下代码

// .babelrc or babel-loader option
{
  "plugins": [
    ["import", { libraryName: "antd-mobile", style: "css" }] // `style: true` 会加载 less 文件
  ]
}

//如果同时引用了antd-mobile跟antd需要改成:
{
  "plugins": [
    ["import", [{ "libraryName": "antd-mobile", "style": "css" },{ "libraryName": "antd", "style": "css" }]] // `style: true` 会加载 less 文件
  ]
}

babelrc配置完之后,把项目跑起来发现并不起作用,组件样式并没有加上,???

这里其实是这个脚手架,默认是不使用.babelrc的,可以在node_module/react-scripts/config/webpack.config.dev.js(跟webpack.config.prod.js)中看到:

只要把false改成true再重新npm start一下就好了

后面用的antd组件的地方直接引用就行了,不用再去引样式

import { Button } from 'antd-moblie'

打包之后已从原来4.91M压缩到了2.45M,优化了一半大小

上一篇下一篇

猜你喜欢

热点阅读