vue3集成Element-Plus之全局導(dǎo)入和按需導(dǎo)入

目錄 element-plus集成 1. 全局引入 2. 局部引入(按需引入) 2.1 手動引入 1.安裝插件: 2.配置vue.config.js 2.3 自動導(dǎo)入組件以及樣式[推薦】 1.安裝插件: 2.配置vue.config.js(其他配置方式看官
目錄
  • element-plus集成
  • 1. 全局引入
  • 2. 局部引入(按需引入)
    • 2.1 手動引入
      • 1.安裝插件:
      • 2.配置vue.config.js
    • 2.3 自動導(dǎo)入組件以及樣式[推薦】
      • 1.安裝插件:
      • 2.配置vue.config.js(其他配置方式看官網(wǎng))
      • 3 直接使用
  • 總結(jié)

    element-plus集成

    Element Plus,一套為開發(fā)者、設(shè)計師和產(chǎn)品經(jīng)理準(zhǔn)備的基于 Vue 3.0 的桌面端組件庫:

    • 在Vue2中使用element-ui,而element-plus是element-ui針對于vue3開發(fā)的一個UI組件庫;
    • 它的使用方式和很多其他的組件庫是一樣的,所以學(xué)會element-plus,其他類似于ant-design-vue、NaiveUI、VantUI都是差不多的;
    • 移動端使用VantUI | MintUI
    • 安裝element-plus
    npm install element-plus

    1. 全局引入

    一種引入element-plus的方式是全局引入,代表的含義是所有的組件和插件都會被自動注冊:

    //main.ts
    import { createApp } from 'vue';
    import App from './App.vue';
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    import router from './router'
    import store from './store'
    createApp(App).use(router).use(store).use(ElementPlus).mount('#app')

    2. 局部引入(按需引入)

    也就是在開發(fā)中用到某個組件對某個組件進(jìn)行引入:

    2.1 手動引入

    <template>
        <div id="app">
          <el-row class="mb-4">
            <el-button disabled>Default</el-button>
            <el-button type="primary" disabled>Primary</el-button>
            <el-button type="success" disabled>Success</el-button>
            <el-button type="info" disabled>Info</el-button>
            <el-button type="warning" disabled>Warning</el-button>
            <el-button type="danger" disabled>Danger</el-button>
          </el-row>
        </div>
    </template>
    <script lang="ts">
    import { defineComponent } from 'vue'
    import { ElButton } from 'element-plus'
    export default defineComponent({
      name: 'App',
      components: {
        ElButton
      }
    })
    </script>
    <style lang="less">
    </style>

    但是我們會發(fā)現(xiàn)是沒有對應(yīng)的樣式的,引入樣式有兩種方式:

    全局引用樣式;import 'element-plus/dist/index.css'

    局部引用樣式(通過 unplugin-element-plus 插件);

    1.安裝插件:

    npm install unplugin-element-plus -D

    2.配置vue.config.js

    const ElementPlus= require('unplugin-element-plus/webpack');
    module.exports = {
      configureWebpack: {
        resolve: {
          alias: {
            components: '@/components'
          }
        },
        //配置webpack自動按需引入element-plus樣式,
        plugins: [ElementPlus()]
      }
    };

    但是這里依然有個弊端:

    • 這些組件我們在多個頁面或者組件中使用的時候,都需要導(dǎo)入并且在components中進(jìn)行注冊;
    • 所以我們可以將它們在全局注冊一次;
    import {
      ElButton,
      ElTable,
      ElAlert,
      ElAside,
      ElAutocomplete,
      ElAvatar,
      ElBacktop,
      ElBadge,
    } from 'element-plus'
    const app = createApp(App)
    const components = [
      ElButton,
      ElTable,
      ElAlert,
      ElAside,
      ElAutocomplete,
      ElAvatar,
      ElBacktop,
      ElBadge
    ]
    for (const cpn of components) {
      app.component(cpn.name, cpn)
    }

    2.3 自動導(dǎo)入組件以及樣式[推薦】

    1.安裝插件:

    npm install -D unplugin-vue-components unplugin-auto-import

    2.配置vue.config.js(其他配置方式看官網(wǎng))

    const AutoImport = require('unplugin-auto-import/webpack');
    const Components = require('unplugin-vue-components/webpack');
    const { ElementPlusResolver } = require('unplugin-vue-components/resolvers');
    module.exports = {
      configureWebpack: {
        resolve: {
          alias: {
            components: '@/components'
          }
        },
        //配置webpack自動按需引入element-plus,
        plugins: [
          AutoImport({
            resolvers: [ElementPlusResolver()]
          }),
          Components({
            resolvers: [ElementPlusResolver()]
          })
        ]
      }
    };

    3 直接使用

    <template>
        <div id="app">
          <el-row class="mb-4">
            <el-button disabled>Default</el-button>
            <el-button type="primary" disabled>Primary</el-button>
            <el-button type="success" disabled>Success</el-button>
            <el-button type="info" disabled>Info</el-button>
            <el-button type="warning" disabled>Warning</el-button>
            <el-button type="danger" disabled>Danger</el-button>
          </el-row>
        </div>
    </template>
    <script lang="ts">
    import { defineComponent } from 'vue'
    export default defineComponent({
    })
    </script>
    <style lang="less">
    </style>

    總結(jié)

    到此這篇關(guān)于vue3集成Element-Plus之全局導(dǎo)入和按需導(dǎo)入的文章就介紹到這了,更多相關(guān)Element-Plus全局導(dǎo)入和按需導(dǎo)入內(nèi)容請搜索技圈網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持技圈網(wǎng)!

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評論
    更多 網(wǎng)友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 精品视频在线观看你懂的一区 | 亚洲AV永久无码天堂网| 99亚洲精品视频| 澳门永久av免费网站| 大陆三级午夜理伦三级三| 免费看美女扒开腿让男人桶| 一区二区福利视频| 窈窕淑女韩国在线看| 夫妇野外交换hd中文小说| 免费看小12萝裸体视频国产| www夜插内射视频网站| 男人的j桶女人的j视频| 天天摸日日摸人人看| 亚洲精品欧美精品日韩精品| 999精品视频在线观看| 永久免费AV无码网站在线观看| 国模私拍福利一区二区| 亚洲成a人片77777群色| japonensisjava野外vt| 明星造梦一区二区| 国产农村妇女精品一二区| 久久91这里精品国产2020| 美女脱下裤子让男人捅| 小时代1免费观看完整版| 免费a级毛片在线播放| A级毛片成人网站免费看| 欧美精品一区二区精品久久| 国产精品久久久久9999赢消| 久草视频这里只有精品| 西西人体午夜视频| 成人a免费α片在线视频网站| 伦理eeuss| 69国产精品视频免费| 曰本女同互慰高清在线观看| 国产乱人视频在线播放| 一本一本久久a久久综合精品| 特级精品毛片免费观看| 国产精品亲子乱子伦xxxx裸| 国产精品免费观看视频播放| 亚洲av无码专区国产乱码不卡| 韩国伦理电影我妻子的秘密|