vue3引入ant-design-vue

本文档详述了在使用ant-design-vue 2.x版本与less 2.7.3配合时遇到的bezierEasingMixin()报错,提供了按需加载的解决方案,适合vue3.0开发者参考。

1、遇到的问题

版本汇总,以下代码是package.json文件

ant-design-vue的版本2.x,配合的less是2.7.3.当less版本过高会报错.bezierEasingMixin(),遇到这种情况可以查看vue3.0 使用ant-design-vue 按需加载时报错.bezierEasingMixin()_与BUG战斗的小绵羊的博客-优快云博客

{
  "name": "vue3-demo",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "ant-design-vue": "2.2.8",
    "babel-plugin-import": "^1.13.5",
    "core-js": "^3.8.3",
    "css-loader": "^6.7.1",
    "less": "2.7.3",
    "less-loader": "^11.0.0",
    "style-loader": "^3.3.1",
    "vue": "^3.2.13",
    "vue-loader": "^17.0.0",
    "vue-router": "4",
    "vue-template-compiler": "^2.6.14"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/vue3-essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "@babel/eslint-parser"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead",
    "not ie 11"
  ]
}

2、ant-design-vue的引入

一定要参考官网的说法,我们按需引入

Ant Design Vue

第一步:yarn add ant-design-vue @2.2.8

第二步:yarn add babel-plugin-import

第三步:按需加载

本代码是main.js入口文件


import { createApp } from "vue";
import App from "./App.vue";
import router from "./router/index";
import { Button, DatePicker, Layout, Menu } from "ant-design-vue";
import "ant-design-vue/dist/antd.css";
import "ant-design-vue/lib/button/style";
import "ant-design-vue/lib/date-picker/style/css"; // 加载 CSS
import "ant-design-vue/lib/button/style/css";
import "ant-design-vue/lib/layout/style/css";
import "ant-design-vue/lib/menu/style/css";
const app = createApp(App);
app.use(Button);
app.use(DatePicker);
app.use(Layout);
app.use(Menu);
app.use(router).mount("#app");

第四步:使用,拷贝官网代码即可

 

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 ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值