(笔记)vue3引入Element-plus

1、Element-plus下载

想要在vue3使用Element-plus,就要先下载Element-plus。下面是三种下载Element-plus的方法。

npm

> npm install element-plus --save

> cnpm install element-plus --save

yarn

> yarn add element-plus

pnpm

> pnpm install element-plus

2、Element-plus引入

引入方式一:完整引入

顾名思义,这种引入方式是把整个 Element-plus都引入到项目中,所以所用内存比较大。但这种方式操作简单、容易上手也会受到很多人的青睐。

在 main.js中

import { createApp } from 'vue'

import ElementPlus from 'element-plus'

import 'element-plus/dist/index.css'

import App from './App.vue'

const app = createApp(App)

app.use(ElementPlus)

app.mount('#app')

引入方式二:按需引入

顾名思义,是根据你在项目中的使用情况,向项目中引入你使用的部分,所以在打包的时候内存比较小。但这种引入方式需要你使用额外的插件来导入要使用的组件,操作较多。但不用担心,本文会给出所有代码,直接复制进去就好了。

首先要安装 unplugin-vue-componentsunplugin-auto-import这两款插件

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

然后在 vue.config.js文件中引入依赖。

const { defineConfig } = require('@vue/cli-service')

// Element Plus 的三个变量

const AutoImport = require('unplugin-auto-import/webpack')

const Components = require('unplugin-vue-components/webpack')

const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')

module.exports = defineConfig({

transpileDependencies: true,

// Element Plus 自动按需导入所用部分

configureWebpack: ({

plugins: [

AutoImport({

resolvers: ElementPlusResolver(),

}),

Components({

resolvers: ElementPlusResolver(),

}),

]

})

})

3、错误解决

在启动项目的时候,可能会有两个报错 AutoImport is not a function 和 Components is not a function,这是因为你的插件版本过高导致的,把版本设置低一点就好了。在 package.json 文件中找到 unplugin-auto-import 和 unplugin-vue-components,设置成低版本就窝开了。

报错 AutoImport is not a function

是因为 unplugin-auto-import 的版本过高,可以使用 ^0.16.7 版本的。

报错 Components is not a function

是因为 unplugin-vue-components 的版本过高,可以使用 ^ 0.25.2 版本的。

设置过程:

把 unplugin-auto-import 和 unplugin-vue-components 改成对应版本后保存,此时下载的插件版本还没有变,可以把对应的插件删了后重新下载。不过我一般是直接把 node_modules文件删了,然后重新 cnpm install,这样它会根据你的配置版本进行下载。


好记性不如烂笔头,在学习的路上留下点痕迹。希望能给大家带来帮助,也期待您的点赞评论。如有不足之处,还请斧正。

相关推荐
To_OC2 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC2 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼4 小时前
三、大括号语法
前端·react.js
kyriewen4 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn5 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2335 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise5 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢7 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js
IT_陈寒7 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端