Install
npm install element-plus --save
full import
The package is very bulky, suitable for learning, not suitable for production.
This method is applicable to vue3 created by vite and cli scaffolding
// main.ts
import { createApp } from 'vue'
//引入element-plus
import ElementPlus from 'element-plus'
//引入element-plus相关样式
import 'element-plus/dist/index.css'
import App from './App.vue'
const app = createApp(App)
//挂载
app.use(ElementPlus)
app.mount('#app')
import on demand
Additional plugins are required to import the components to be used.
import automatically
First, you need to install the two plug-ins unplugin-vue-components and unplugin-auto-import
npm install -D unplugin-vue-components unplugin-auto-import
In the Vite project
// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
// ...
plugins: [
// ...
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
})
In the cli project (project based on webapck)
// 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 = {
configureWebpack: {
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
}
}
import manually
Element Plus provides out-of-the-box Tree Shaking based on ES Module .
But you need to install unplugin-element-plus to import styles. Please refer to the documentation on how to configure it.
<template>
<el-button>I am ElButton</el-button>
</template>
<script>
import { ElButton } from 'element-plus'
export default {
components: { ElButton },
}
</script>
// vite.config.ts
import { defineConfig } from 'vite'
import ElementPlus from 'unplugin-element-plus/vite'
export default defineConfig({
// ...
plugins: [ElementPlus()],
})