3.75M → 1.81M → 99kb的转变
本文目录
- 一、初始化vue项目文件夹
- 1.安装vue/cli
- 2.创建Vue项目
- 二、按需引入ant-design-vue
- 1.安装ant-design-vue
- 1.1 分析全部引入体积有多大
- 1.2 ant-design-vue按需引入组件
- 1.3 ant-design-vue按需引入Icon组件
一、初始化vue项目文件夹
1.安装vue/cli
(默认电脑已安装了
2.创建Vue项目
在命令行中先
键盘上下键选择,我们选择第二个
接着我们将桌面创建好的
打开后如图:
至此我们的
二、按需引入ant-design-vue
1.安装ant-design-vue
接着我们打开
安装好后,我们在
别忘记修改后保存。
1.1 分析全部引入体积有多大
接着我们先来全部引入看看包有多大,打开
1 2 3 | import Antd from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; Vue.use(Antd); |
如图:
然后我们在
1 2 3 | <a-rate :default-value="5"> <a-icon type="star" slot="character"></a-icon> </a-rate> |
然后在
我们在浏览器打开,如图所示,
接着我们再打开一个命令行终端,我们进行打包压缩分析,在新开的命令行终端输入
然后我们打开
可以看到我们就引了一个评分组件,打包后就这么大了足足有
1.2 ant-design-vue按需引入组件
好的,我们现在终端命令行中输入命令
接着修改
1 2 3 4 5 6 | plugins: [ [ "import", { libraryName: "ant-design-vue", libraryDirectory: "es", style: 'css'} ] ] |
如图所示添加:
然后在
1 2 | import { Rate,Icon } from 'ant-design-vue' Vue.use(Rate).use(Icon) |
我们重新配置好之后最好重新去启动下服务,否则可能会存在样式出不来的效果,好的我们看到页面也是正常显示评分组件的,如图:
接下来我们再重新开一个命令行终端,
可以直观的看到现在只有
但是这还不是我们想要的,可以看到我们只引入
1.3 ant-design-vue按需引入Icon组件
我们在
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | const path = require('path') const {IgnorePlugin} = require('webpack') function resolve (dir) { // path.join()方法用于连接路径 return path.join(__dirname, dir) } module.exports = { publicPath: './', configureWebpack: { plugins: [ new IgnorePlugin(/^\.\/locale$/, /moment$/) ], resolve: { alias:{ '@ant-design/icons/lib/dist$': resolve('./src/antd/icons.js') } } } } |
如下图:
注释写在图中,接着我们在
好的,我们再在命令行中输入
可以看到这次只有
那这是为什么呢?因为我们在自己写的
1 2 3 | export { default as StarOutline } from '@ant-design/icons/lib/outline/StarOutline' |
如图所示:
这下再
然后我们再次在命令行中输入命令
我们可以看到
如果你觉得本文对你有帮助的话,请给我一个赞吧。如果有更好的解决方案还望评论告知,谢谢了,愿一起共同进步。