中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

elementplus的自動導入和按需導入方式是什么

發布時間:2022-08-09 17:11:16 來源:億速云 閱讀:218 作者:iii 欄目:開發技術

這篇文章主要介紹了elementplus的自動導入和按需導入方式是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇elementplus的自動導入和按需導入方式是什么文章都會有所收獲,下面我們一起來看看吧。

element-plus根據官網文檔,推薦用戶采用按需導入的方式進行導入。

我的項目是使用vite進行構建的,根據官網的文檔,利用unplugin-vue-components插件進行自動按需導入。

當我們使用element的標簽時,無需再使用import對組件進行導入。

例如:

<el-button>test</el-button>

會自動引入ElButton組件。

elementplus的自動導入和按需導入方式是什么

不過當我們想要使用命令的方式創建element組件時,樣式會無法自動引入。

我們以ElMessage為例。

import { ElMessage } from 'element-plus'

ElMessage.warning('warning')

如果不采用import的方式引入,會直接報錯:ElMessage沒有定義。所以這個import是省不了了。但是import了之后,消息彈窗是出來了,但是卻沒有樣式。這該怎么辦呢?

仔細閱讀文檔,我們可以發現在手動導入里,使用了一個叫unplugin-element-plus的插件。該插件的官方文檔有詳細的使用說明,插件的主要功能如下:

import { ElButton } from 'element-plus'

//    ↓ ↓ ↓ ↓ ↓ ↓

import { ElButton } from 'element-plus'
import 'element-plus/es/components/button/style/css'

我們可以看出,這個插件其實就是把你需要的組件的css或者sass文件自動引入進來,剛好彌補了上面的問題。

最后我們如下配置項目:

首先我們要安裝unplugin-vue-componentsunplugin-element-plus

npm i unplugin-vue-components unplugin-element-plus -D

之后配置一下vite.config.js文件。

import ElementPlus from 'unplugin-element-plus/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  plugins: [
    ElementPlus({
      importStyle: 'sass',
      useSource: true
    }),
    Components({
      resolvers: [ElementPlusResolver()]
    })
  ]
})

這樣配置之后,我們就可以享用element-plus的自動導入了。當然使用命令的組件還是需要你手動導入一下的。

補充:elementPlus圖標自動引入

首先安裝插件

npm i -D unplugin-icons unplugin-vue-components

下載圖標庫

npm i @element-plus/icons-vue

配置vite.config.js

import path from 'path'
import {
  defineConfig
} from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import {
  ElementPlusResolver
} from 'unplugin-vue-components/resolvers'
const pathSrc = path.resolve(__dirname, 'src')
export default defineConfig({
  esolve: {
    alias: {
      '@': pathSrc,
    },
  },
  plugins: [
    vue(),
    AutoImport({
      resolvers: [
        ElementPlusResolver(),
        IconsResolver({
          prefix: 'Icon',
        }),
      ],
      dts: path.resolve(pathSrc, 'auto-imports.d.ts'),
    }),
    Components({
      resolvers: [
        ElementPlusResolver(),
        IconsResolver({
          enabledCollections: ['ep'],
        })
      ],
      dts: path.resolve(pathSrc, 'components.d.ts'),
    }),
    Icons({
      autoInstall: true,
    }),
  ]
})

關于“elementplus的自動導入和按需導入方式是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“elementplus的自動導入和按需導入方式是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大同市| 共和县| 丁青县| 右玉县| 霍林郭勒市| 裕民县| 巴林右旗| 泾阳县| 和龙市| 响水县| 南雄市| 广宗县| 青岛市| 宁乡县| 贵阳市| 江达县| 老河口市| 昭通市| 靖西县| 宁南县| 镇平县| 吉安县| 阿拉善左旗| 淮南市| 新宾| 湘潭市| 榆社县| 阳江市| 江阴市| 浪卡子县| 眉山市| 青浦区| 阳山县| 永清县| 烟台市| 镇安县| 灯塔市| 昭平县| 留坝县| 达日县| 屏边|