首頁 > 軟體

vue3整合Element-plus實現按需自動引入元件的方法總結

2022-07-10 18:00:41
  • element-plus正是element-ui針對於vue3開發的一個UI元件庫,
  • 它的使用方式和很多其他的元件庫是一樣的,其他類似於ant-design-vue、NaiveUI、VantUI都是差不多的;安裝element-plus

首先下載element-plus

npm install element-plus

1、第一種方式,使用全域性引入

引入element-plus的方式是全域性引入,代表的含義是所有的元件和外掛都會被自動註冊,

優點:上手快

缺點:會增大包的體積

在main.ts檔案中

import { createApp } from 'vue'
// 全域性引入
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router'
import store from './store'
 
const app = createApp(App)
app.use(router)
app.use(store)
app.use(ElementPlus)
app.mount('#app')

2、第二種方式,使用區域性引入

區域性引入也就是在開發中用到某個元件對某個元件進行引入,

<template>
  <div class="app">
    <el-button>Default</el-button>
    <el-button type="primary">Primary</el-button>
    <el-button type="success">Success</el-button>
    <el-button type="info">Info</el-button>
    <el-button type="warning">Warning</el-button>
    <el-button type="danger">Danger</el-button>
    <el-button>中文</el-button>
  </div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
// 區域性引入
import { ElButton } from 'element-plus'
import 'element-plus/theme-chalk/el-button.css'
import 'element-plus/theme-chalk/base.css'
export default defineComponent({
  components: { ElButton },
  setup() {
    return {}
  }
})
</script>
 
<style lang="less"></style>

但是這樣我們在開發時每次使用都要手動在元件中引入對應的css樣式,使用起來會比較麻煩

3、按需自動引入element-plus  推薦

需要安裝unplugin-vue-components 和 unplugin-auto-import這兩款外掛

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

安裝完成之後在vue.config.js檔案中設定

// vue.config.js
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = {
  outputDir: './build',
  // 和webpapck屬性完全一致,最後會進行合併
  configureWebpack: {
    resolve: {
      alias: {
        components: '@/components'
      }
    },
    //設定webpack自動按需引入element-plus,
      plugins: [
        AutoImport({
          resolvers: [ElementPlusResolver()]
        }),
        Components({
          resolvers: [ElementPlusResolver()]
        })
      ]
  }
}

 按需自動引入設定完之後,在元件中可直接使用,不需要參照和註冊 這裡已經實現了按需自動移入Element-plus元件 元件中直接使用:

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

效果: 

總結

到此這篇關於vue3整合Element-plus實現按需自動引入元件的文章就介紹到這了,更多相關vue3按需自動引入元件內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com