[前端] vue3集成Element-plus实现按需自动引入组件的方法总结

1773 0
王子 2022-10-21 15:35:13 | 显示全部楼层 |阅读模式
目录

    1、第一种方式,使用全局引入2、第二种方式,使用局部引入3、按需自动引入element-plus  推荐总结

    element-plus正是element-ui针对于vue3开发的一个UI组件库,它的使用方式和很多其他的组件库是一样的,其他类似于ant-design-vue、NaiveUI、VantUI都是差不多的;安装element-plus
首先下载element-plus
  1. npm install element-plus
复制代码
1、第一种方式,使用全局引入

引入element-plus的方式是全局引入,代表的含义是所有的组件和插件都会被自动注册,
优点:上手快
缺点:会增大包的体积
在main.ts文件中
  1. import { createApp } from 'vue'
  2. // 全局引入
  3. import ElementPlus from 'element-plus'
  4. import 'element-plus/dist/index.css'
  5. import App from './App.vue'
  6. import router from './router'
  7. import store from './store'
  8. const app = createApp(App)
  9. app.use(router)
  10. app.use(store)
  11. app.use(ElementPlus)
  12. app.mount('#app')
复制代码
2、第二种方式,使用局部引入

局部引入也就是在开发中用到某个组件对某个组件进行引入,
  1. <template>
  2.   <div class="app">
  3.     <el-button>Default</el-button>
  4.     <el-button type="primary">Primary</el-button>
  5.     <el-button type="success">Success</el-button>
  6.     <el-button type="info">Info</el-button>
  7.     <el-button type="warning">Warning</el-button>
  8.     <el-button type="danger">Danger</el-button>
  9.     <el-button>中文</el-button>
  10.   </div>
  11. </template>
  12. <script lang="ts">
  13. import { defineComponent } from 'vue'
  14. // 局部引入
  15. import { ElButton } from 'element-plus'
  16. import 'element-plus/theme-chalk/el-button.css'
  17. import 'element-plus/theme-chalk/base.css'
  18. export default defineComponent({
  19.   components: { ElButton },
  20.   setup() {
  21.     return {}
  22.   }
  23. })
  24. </script>
  25. <style lang="less"></style>
复制代码
但是这样我们在开发时每次使用都要手动在组件中引入对应的css样式,使用起来会比较麻烦

3、按需自动引入element-plus  推荐

需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件
  1. npm install -D unplugin-vue-components unplugin-auto-import
复制代码
安装完成之后在vue.config.js文件中配置
  1. // vue.config.js
  2. const AutoImport = require('unplugin-auto-import/webpack')
  3. const Components = require('unplugin-vue-components/webpack')
  4. const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
  5. module.exports = {
  6.   outputDir: './build',
  7.   // 和webpapck属性完全一致,最后会进行合并
  8.   configureWebpack: {
  9.     resolve: {
  10.       alias: {
  11.         components: '@/components'
  12.       }
  13.     },
  14.     //配置webpack自动按需引入element-plus,
  15.       plugins: [
  16.         AutoImport({
  17.           resolvers: [ElementPlusResolver()]
  18.         }),
  19.         Components({
  20.           resolvers: [ElementPlusResolver()]
  21.         })
  22.       ]
  23.   }
  24. }
复制代码
按需自动引入配置完之后,在组件中可直接使用,不需要引用和注册 这里已经实现了按需自动移入Element-plus组件 组件中直接使用:
  1. <template>
  2.   <div class="app">
  3.     <el-button>Default</el-button>
  4.     <el-button type="primary">Primary</el-button>
  5.     <el-button type="success">Success</el-button>
  6.     <el-button type="info">Info</el-button>
  7.     <el-button type="warning">Warning</el-button>
  8.     <el-button type="danger">Danger</el-button>
  9.     <el-button>中文</el-button>
  10.   </div>
  11. </template>
  12. <script lang="ts">
  13. import { defineComponent } from 'vue'
  14. export default defineComponent({
  15.   setup() {
  16.     return {}
  17.   }
  18. })
  19. </script>
  20. <style lang="less"></style>
复制代码
效果:



总结

到此这篇关于vue3集成Element-plus实现按需自动引入组件的文章就介绍到这了,更多相关vue3按需自动引入组件内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持中国红客联盟!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行