IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue3中使用Ant Design 并且使用 babel-plugin-import 来进行按需加载 -> 正文阅读

[JavaScript知识库]vue3中使用Ant Design 并且使用 babel-plugin-import 来进行按需加载

首先,在百度到ant design官网之后,要在右上角调整版本
在这里插入图片描述
不然会有大坑
下载使用

npm i --save ant-design-vue@next

完整引入

import { createApp } from 'vue';
import Antd from 'ant-design-vue';
import App from './App';
import 'ant-design-vue/dist/antd.css';

const app = createApp();
app.config.productionTip = false;

app.use(Antd);

按需加载

使用 babel-plugin-import 来进行按需加载
babel-plugin-import插件的作用其实就是帮我们在打包的时候删除掉我们没有用到的组件的css
1,安装

npm i babel-plugin-import -D

2,添加.babelrc文件
3,在.babelrc中加入

{
  "plugins": [
    [
      "import",
      {
        "libraryName": "ant-design-vue",
        "libraryDirectory": "es",
        "style": true // `style: true` 会加载 less 文件
      }
    ]
  ]
}

在main.ts中

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { Button, Card } from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';

createApp(App).use(store).use(router).use(Card).mount('#app')

注意,babel-plugin-import 的 style 属性除了引入对应组件的样式,也会引入一些必要的全局样式。如果你不需要它们,建议不要使用此属性。你可以 import 'ant-design-vue/dist/antd.css 手动引入,并覆盖全局样式。

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/index.ts'

import {
    Button, Pagination, Layout, Card,
    Divider, Input, Menu, Modal,
    Collapse, Spin, List, Popconfirm,
    Avatar, Select, Form, PageHeader
} from 'ant-design-vue'

import 'ant-design-vue/dist/antd.css';

createApp(App)
.use(router)
.use(store)
.use(Button).use(Pagination).use(Layout)
.use(Card).use(Divider).use(Input)
.use(Menu).use(Modal).use(Collapse)
.use(Spin).use(List).use(Popconfirm)
.use(Avatar).use(Select).use(Form).use(PageHeader)
.mount('#app')

在main.ts中引入的组件还是全局的,意思就是不上全局引入整个组件库,而是全局引入这个组件,引入的组件在所有的页面都可以用
例如这样就是全局引入了Button这个组件

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { Button} from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';

createApp(App).use(store).use(router).use(Button).mount('#app')

我看到别人是一些常用的组件全局引用 然后把一些个别使用到的组件放在vue文件去引入,这样子可能资源损耗就稍微少点
在具体页面引入的话,可以这样写

<template>

</template>
<script lang="ts">
import { defineComponent } from 'vue'
import { LeftSquareFilled, UpCircleFilled } from '@ant-design/icons-vue'
import { BackTop } from 'ant-design-vue'

export default defineComponent({
  name: 'Waterfall',
  components: {
    LeftSquareFilled,
    UpCircleFilled,
    'a-back-top': BackTop
  },
  setup () {
   

    return {
    }
  }

})
</script>

<style scoped>

</style>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:32:40  更:2021-11-19 17:33:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/11 2:46:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码