欢迎来到3672js教程,我们关注js教程、js框架、js代码特效等。

vue3集成Element-Plus之全局导入和按需导入,

3672Js.Com2023-07-15 00:22 来源:未知 阅读:17624 关注度3

vue3集成Element-Plus之全局导入和按需导入,


目录
  • element-plus集成
  • 1. 全局引入
  • 2. 局部引入(按需引入)
    • 2.1 手动引入
      • 1.安装插件:
      • 2.配置vue.config.js
    • 2.3 自动导入组件以及样式[推荐】
      • 1.安装插件:
      • 2.配置vue.config.js(其他配置方式看官网)
      • 3 直接使用
  • 总结

    element-plus集成

    Element Plus,一套为开发者、设计师和产品经理准备的基于 Vue 3.0 的桌面端组件库:

    • 在Vue2中使用element-ui,而element-plus是element-ui针对于vue3开发的一个UI组件库;
    • 它的使用方式和很多其他的组件库是一样的,所以学会element-plus,其他类似于ant-design-vue、NaiveUI、VantUI都是差不多的;
    • 移动端使用VantUI | MintUI
    • 安装element-plus
    npm install element-plus

    1. 全局引入

    一种引入element-plus的方式是全局引入,代表的含义是所有的组件和插件都会被自动注册:

    //main.ts
    import { createApp } from 'vue';
    import App from './App.vue';
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    import router from './router'
    import store from './store'
    createApp(App).use(router).use(store).use(ElementPlus).mount('#app')

    2. 局部引入(按需引入)

    也就是在开发中用到某个组件对某个组件进行引入:

    2.1 手动引入

    <template>
        <div id="app">
          <el-row class="mb-4">
            <el-button disabled>Default</el-button>
            <el-button type="primary" disabled>Primary</el-button>
            <el-button type="success" disabled>Success</el-button>
            <el-button type="info" disabled>Info</el-button>
            <el-button type="warning" disabled>Warning</el-button>
            <el-button type="danger" disabled>Danger</el-button>
          </el-row>
        </div>
    </template>
    <script lang="ts">
    import { defineComponent } from 'vue'
    import { ElButton } from 'element-plus'
    export default defineComponent({
      name: 'App',
      components: {
        ElButton
      }
    })
    </script>
    <style lang="less">
    </style>

    但是我们会发现是没有对应的样式的,引入样式有两种方式:

    全局引用样式;import 'element-plus/dist/index.css'

    局部引用样式(通过 unplugin-element-plus 插件);

    1.安装插件:

    npm install unplugin-element-plus -D

    2.配置vue.config.js

    const ElementPlus= require('unplugin-element-plus/webpack');
    module.exports = {
      configureWebpack: {
        resolve: {
          alias: {
            components: '@/components'
          }
        },
        //配置webpack自动按需引入element-plus样式,
        plugins: [ElementPlus()]
      }
    };

    但是这里依然有个弊端:

    • 这些组件我们在多个页面或者组件中使用的时候,都需要导入并且在components中进行注册;
    • 所以我们可以将它们在全局注册一次;
    import {
      ElButton,
      ElTable,
      ElAlert,
      ElAside,
      ElAutocomplete,
      ElAvatar,
      ElBacktop,
      ElBadge,
    } from 'element-plus'
    const app = createApp(App)
    const components = [
      ElButton,
      ElTable,
      ElAlert,
      ElAside,
      ElAutocomplete,
      ElAvatar,
      ElBacktop,
      ElBadge
    ]
    for (const cpn of components) {
      app.component(cpn.name, cpn)
    }

    2.3 自动导入组件以及样式[推荐】

    1.安装插件:

    npm install -D unplugin-vue-components unplugin-auto-import

    2.配置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: {
        resolve: {
          alias: {
            components: '@/components'
          }
        },
        //配置webpack自动按需引入element-plus,
        plugins: [
          AutoImport({
            resolvers: [ElementPlusResolver()]
          }),
          Components({
            resolvers: [ElementPlusResolver()]
          })
        ]
      }
    };

    3 直接使用

    <template>
        <div id="app">
          <el-row class="mb-4">
            <el-button disabled>Default</el-button>
            <el-button type="primary" disabled>Primary</el-button>
            <el-button type="success" disabled>Success</el-button>
            <el-button type="info" disabled>Info</el-button>
            <el-button type="warning" disabled>Warning</el-button>
            <el-button type="danger" disabled>Danger</el-button>
          </el-row>
        </div>
    </template>
    <script lang="ts">
    import { defineComponent } from 'vue'
    export default defineComponent({
    })
    </script>
    <style lang="less">
    </style>

    总结

    到此这篇关于vue3集成Element-Plus之全局导入和按需导入的文章就介绍到这了,更多相关Element-Plus全局导入和按需导入内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

    您可能感兴趣的文章:
    • element-plus的自动导入和按需导入方式详解
    • element-plus中如何实现按需导入与全局导入
    • Vue3+Element-plus项目自动导入报错的解决方案
    • Vue3+Element Plus按需引入(自动导入)详解

    本站文章为3672js教程网友分享投稿,版权归原作者,欢迎任何形式的转载,但请务必注明出处。同时文章内容如有侵犯了您的权益,请联系我们处理。
    评论已被关闭
    {dede:include filename="foot.htm"/}