perf: 前端按需引入 Element Plus + Vite 拆包 + template 优化
This commit is contained in:
+12
-9
@@ -1,21 +1,24 @@
|
||||
import { createApp } from 'vue'
|
||||
import { createPinia } from 'pinia'
|
||||
import ElementPlus from 'element-plus'
|
||||
import 'element-plus/dist/index.css'
|
||||
import 'element-plus/theme-chalk/dark/css-vars.css'
|
||||
import * as ElIcons from '@element-plus/icons-vue'
|
||||
// 程序化 API 组件手动引入(按需引入不自动包含)
|
||||
import { ElMessage, ElMessageBox, ElNotification, ElLoading } from 'element-plus'
|
||||
import 'element-plus/es/components/message/style/css'
|
||||
import 'element-plus/es/components/message-box/style/css'
|
||||
import 'element-plus/es/components/notification/style/css'
|
||||
import 'element-plus/es/components/loading/style/css'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
import './assets/main.css'
|
||||
|
||||
const app = createApp(App)
|
||||
|
||||
// Register all Element Plus icons globally
|
||||
for (const [name, component] of Object.entries(ElIcons)) {
|
||||
app.component(name, component)
|
||||
}
|
||||
|
||||
app.use(createPinia())
|
||||
app.use(router)
|
||||
app.use(ElementPlus)
|
||||
app.mount('#app')
|
||||
|
||||
// 确保程序化 API 在 setup 外也可用(已全局引用,不 tree-shake)
|
||||
ElMessage
|
||||
ElMessageBox
|
||||
ElNotification
|
||||
ElLoading
|
||||
|
||||
Reference in New Issue
Block a user