Vue實戰筆記(二) 引入Element Plus


Element Plus 是為適配 Vue3 而對 Element UI 進行重構后產生的前端組件庫,包含豐富的基礎組件

下面先貼出 官方文檔,里面的介紹已經十分全面和詳細,大家遇到的很多問題都可以在上面找到答案


假設現在我們已經用 vue-cli 4 工具創建了一個 Vue3 項目,然后怎么在項目中引入 Element Plus 呢?

注意,這里必須是用 vue-cli 4 創建的 Vue3 項目,否則后面會報錯,首先介紹一下默認生成的目錄結構

+ demo
    + node_modules(存放第三方模塊)
    + public(存放靜態文件)
        - favicon.ico(圖標)
        - index.html (頁面模板)
    + src(我們自己寫的文件一般放在這個文件夾下)
        + assets(存放資源文件)
        + components(存放公共組件)
        + router.js(路由管理:Router)
        + store.js (狀態管理:Vuex)
        + views(存放視圖組件)
        - App.vue(頁面入口文件)
        - main.js(程序入口文件)
    - package.json(項目配置文件)
    - package-lock.json(項目配置文件)
    - babel.config.js(babel 配置文件)
    - README.md(項目說明文檔)
    - ...(其它配置文件)

1、安裝 Element Plus

npm 是 Node 的包管理工具,我們可以通過 npm 安裝 Element Plus

加上 --save 選項,可以同時將配置寫入 package.jsondependencies 字段(生產環境依賴)

npm install --save element-plus

2、引入 Element Plus

在 Vue 中引入 Element Plus 有兩種方式,分別是全部引入和局部引入,下面將會逐一介紹

(1)全部引入

main.js 中引入並注冊全部組件,即可在其它頁面中直接使用全部組件

// main.js

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

// 新增代碼:引入全部組件及樣式
import ElementPlus from 'element-plus'
import 'element-plus/lib/theme-chalk/index.css'

const app = createApp(App)

app.use(store)
app.use(router)

// 新增代碼:注冊全部組件
app.use(ElementPlus)

app.mount('#app')

采用這種引入方式,不管是否使用到的組件,都會全部加載進來,顯然不是一個好的辦法

(2)局部引入

main.js 中引入並注冊特定組件,在其它頁面中只可使用特定組件

// main.js

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

// 新增代碼:引入特定組件及樣式
import {
  ElButton
} from 'element-plus'
import 'element-plus/lib/theme-chalk/el-button.css'

const app = createApp(App)

app.use(store)
app.use(router)

// 新增代碼:注冊特定組件
app.component(ElButton.name, ElButton)

app.mount('#app')

采用這種引入方式,可以保證只引入需要的組件(按需引入)

但每引入一個組件,都要手動將其對應的樣式文件同時引入,未免過於麻煩


babel-plugin-import 插件可以輔助完成這個工作,首先安裝 babel-plugin-import 插件

加上 --save-dev 選項,同時將配置寫入 package.jsondevDependencies 字段(開發環境依賴)

npm install --save-dev babel-plugin-import

然后在 babel.config.js 配置插件

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  // 新增代碼
  plugins: [
    [
      "import",
      {
        libraryName: 'element-plus',
        customStyleName: (name) => {
          return `element-plus/lib/theme-chalk/${name}.css`;
        }
      }
    ]
  ]
}

接着在 main.js 按需引入組件

// main.js

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

// 新增代碼:引入特定組件
// 此時會自動引入對應的樣式文件,無需再手動逐一引入
import {
  ElButton
} from 'element-plus'

const app = createApp(App)

app.use(store)
app.use(router)

// 新增代碼:注冊特定組件
app.component(ElButton.name, ElButton)

app.mount('#app')

最后記得使用 npm run serve 重啟應用,即可在其它頁面中使用特定組件


3、使用 Element Plus

在安裝和引入 Element Plus 后,我們就可以在頁面使用 Element Plus 中的組件啦

<template>
  <div>
    <el-button type="primary" @click="handleClick">Primary</el-button>
  </div>
</template>

<script>
export default {
  methods: {
    handleClick: function (e) {
      console.log('click', e)
    }
  }
}
</script>

這時,如果你能看到一個藍色的按鈕出現在頁面上,就說明已經配置成功

接下來就可以盡情享受 Element Plus 帶給你的高效開發體驗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM