Vue 3.x Ant Design 使用 babel-plugin-import 来进行按需加载

本文详细介绍了如何在Vue 3.x项目中,利用babel-plugin-import实现Ant Design的按需加载,以减小打包体积,提升首屏加载速度。在过程中遇到了npm安装问题,以及配置babel.config.js和vue.config.js的步骤,最后在/src/main.js中引入组件并解决报错,成功实现了按需加载,使项目打包体积减少了1/3。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习用Ant Design Vue 开发项目,按照官方的快速上手进行了安装。

在这里插入图片描述
默认是全局引入,打包后体积很大,非常影响首屏加载速度,需要用到按需加载,仅引入要使用的组件。

不得不说官方文档写的很烂💩,用的React举例,全是坑,在这完整分享下怎么做。

1. 安装 babel-plugin-import

cnpm i babel-plugin-import --dev --save

某种未知原因,我用npm安装一直报错404,改用cnpm就好了。

2. 安装 less-loader

cnpm install less-loader --save-dev

控制台报错,提示缺少less-loader,好的 。

3. 安装less

cnpm install less --save-dev

Antd 是用less编写的,还需要安装less

4. 配置babel.config.js

配置根目录下的babel.config.js,没有的话就手动创建个,写入以下配置。

module.exports = {
   
  presets: ["@vue/app"],
  plugins: [
    [
      "import",
      {
    libraryName: "ant-design-vue"
Vue2 项目中引入 `ant-design-vue` 是一个非常常见的需求,以下是详细的步骤和代码示例: ### 引入步骤 1. **安装依赖** 首先需要通过 npm 或 yarn 安装 `ant-design-vue`: ```bash npm install ant-design-vue@2.x --save ``` 2. **全局引入** 如果你需要在整个项目中使用 Ant Design Vue 的所有组件,可以在 `main.js` 中进行全局引入。 3. **按需引入** 如果你只需要使用部分组件,可以采用按需加载的方式以减少打包体积。这需要借助 `babel-plugin-import` 插件。 --- ### 全局引入方式 ```javascript // main.js import Vue from &#39;vue&#39;; import Antd from &#39;ant-design-vue&#39;; import &#39;ant-design-vue/dist/antd.css&#39;; // 引入样式 Vue.use(Antd); new Vue({ render: h => h(App), }).$mount(&#39;#app&#39;); ``` --- ### 按需引入方式 1. 安装 `babel-plugin-import`: ```bash npm install babel-plugin-import --save-dev ``` 2. 在 `.babelrc` 或 `babel.config.js` 中配置插件: ```javascript // babel.config.js module.exports = { presets: [&#39;@vue/cli-plugin-babel/preset&#39;], plugins: [ [ &#39;import&#39;, { libraryName: &#39;ant-design-vue&#39;, libraryDirectory: &#39;es&#39;, style: true, // `style: true` 会加载 less 文件 }, ], ], }; ``` 3. 在组件中按需引入组件: ```javascript <template> <a-button type="primary">按钮</a-button> </template> <script> import { Button } from &#39;ant-design-vue&#39;; export default { components: { AButton: Button, }, }; </script> ``` --- ### 解释 1. **全局引入**:适用于需要大量使用 Ant Design Vue 组件的项目,简单快捷但会增加打包体积。 2. **按需引入**:通过 `babel-plugin-import` 插件实现按需加载,只引入所需的组件和样式,从而减少打包体积。 3. **样式文件**:无论是全局引入还是按需引入,都需要确保样式被正确加载。全局引入时直接引入 `antd.css`,按需引入时通过 `babel-plugin-import` 自动加载组件对应的样式。 --- ### 注意事项 - 确保安装的是与 Vue2 兼容的 `ant-design-vue` 版本(2.x)。 - 如果使用 TypeScript,还需要安装类型声明文件: ```bash npm install @types/ant-design-vue --save-dev ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值