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

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

      element-plus集成

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

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

      1. 全局引入

      一種引入element-plus的方式是全局引入,代表的含義是所有的組件和插件都會(huì)被自動(dòng)注冊(cè):

      //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. 局部引入(按需引入)

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

      2.1 手動(dòng)引入

      <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>

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

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

      局部引用樣式(通過(guò) 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自動(dòng)按需引入element-plus樣式,
          plugins: [ElementPlus()]
        }
      };

      但是這里依然有個(gè)弊端:

      • 這些組件我們?cè)诙鄠€(gè)頁(yè)面或者組件中使用的時(shí)候,都需要導(dǎo)入并且在components中進(jìn)行注冊(cè);
      • 所以我們可以將它們?cè)?strong>全局注冊(cè)一次;
      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òng)導(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自動(dòng)按需引入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)容請(qǐng)搜索技圈網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持技圈網(wǎng)!

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

      返回頂部

      主站蜘蛛池模板: 国产一区二区精品尤物| 国产在线精品一区二区三区直播 | 国模吧无码一区二区三区| 久久精品一区二区三区四区| 日韩视频在线观看一区二区| 亚洲字幕AV一区二区三区四区| 中文字幕精品无码一区二区| 亚洲一区中文字幕在线电影网| 无人码一区二区三区视频| 色系一区二区三区四区五区| 91视频一区二区三区| 久久99国产精品一区二区| 亚洲一区爱区精品无码| 538国产精品一区二区在线| 色综合一区二区三区| 国产在线一区二区视频| 精产国品一区二区三产区| 日本免费一区二区在线观看| 精品人伦一区二区三区潘金莲| 国产精品视频一区二区三区四| 国产精品一区12p| 韩国福利视频一区二区| 韩国福利视频一区二区| 精品视频一区二区观看| 国产成人综合精品一区| 中日av乱码一区二区三区乱码| 亚洲欧洲∨国产一区二区三区| 国产一区二区在线观看app| 国产一在线精品一区在线观看| 中文日韩字幕一区在线观看| 国产在线一区二区在线视频| 日韩亚洲一区二区三区| 制服丝袜一区在线| 亚洲综合无码一区二区痴汉| 夜色福利一区二区三区| 成人一区专区在线观看| 国产成人精品无人区一区| 亚洲熟妇av一区二区三区| 日本片免费观看一区二区| 国产在线不卡一区| 亚洲AV无码一区二区乱孑伦AS|