当前位置: 首页 > news >正文

解析如何在vue3中使用Element-UI组件以及main.js文件

关于vue的环境配置在前文《Vue3项目——配置vue环境和构建一个vue项目》有讲。

配置Vue项目

今天我们配置vue项目时,直接勾选Default即可。

安装Element-UI组件库

首先是对Element-UI组件的安装,正常安装的命令为

npm install element-ui --save

但是由于element-ui只能兼容于vue2的项目,也就是说vue3项目安装element-ui只会安装失败。

element-ui官方提供了兼容于vue3项目的组件,为Element-Plus,那么我们修改命令为:

npm install element-plus --save

便可安装成功

引入element-plus

我们可以知道引入时是在main.js文件进行引入。
main.js的初始代码为:

import { createApp } from 'vue'
import App from './App.vue'createApp(App).mount('#app')

正确引入后的代码如下:

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

main.js文件

下面我们对这个文件来进行解析:

import { createApp } from 'vue'

这一行代码从vue包中导入了一个名为createApp的函数。createApp是Vue 3的一个核心函数,用于创建一个新的Vue应用实例。这是Vue 3与Vue 2.x在创建应用实例方面的一个主要区别,在Vue 2.x中,我们通常使用new Vue()来实现这一点。

import App from './App.vue'

这行代码导入了你的Vue应用的根组件。App.vue是一个单文件组件(SFC),它通常作为你的Vue项目的主入口,所有的子组件都是从这里开始嵌套和组织的。

import ElementPlus from 'element-plus'

通过这行代码,我们导入了Element Plus库。Element Plus是Element UI针对Vue 3的更新版本,包括了一系列可重用且可配置的UI组件。

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

这行代码导入了Element Plus组件库的CSS样式文件。这是必须的步骤,因为它包含了所有Element Plus组件的默认样式,确保组件在页面中呈现出设计师预定的外观。

const app = createApp(App);

这里,createApp函数被调用,并将App(即我们的根组件)传递给它,来创建一个新的Vue应用实例。这个实例被存储在变量app中,我们通过这个实例来配置和启动Vue应用。

app.use(ElementPlus)

app.use()方法用于安装Vue插件。在这里,我们传递了ElementPlus给这个方法,这样Element Plus就被安装到了我们的Vue应用中。这意味着,Element Plus的所有组件现在都可以在该Vue应用的任何地方使用。

app.mount('#app')

最后一行代码调用了app.mount()方法,并传递了一个选择器字符串'#app'给它。这个方法负责将Vue应用挂载到DOM中。这里,它会查找页面上id为app的DOM元素,并将Vue应用渲染到这个元素内部。这标志着Vue应用的启动过程完成,用户现在可以在浏览器中看到和交互的应用了。

总而言之,这段代码初始化并配置了一个Vue 3应用实例,安装并启用了Element Plus组件库,并将Vue应用挂载到页面上预定的DOM元素内。

相关文章:

  • CSDN 自动上传图片并优化Markdown的图片显示
  • 1979python健身房管理系统mysql数据库Django框架VUE前端node运行计算机软件工程网页
  • Mac的m系列芯片安装虚拟机--简单流程
  • 用java 做一个模拟的菜单及对话框测试
  • JMU 数科 数据库与数据仓库期末总结(1)
  • ES 8.14 向量搜索优化
  • FFmpeg中内存分配和释放相关的源码:av_malloc函数、av_mallocz函数、av_free函数和av_freep函数分析
  • Stable diffusion 3 正式开源
  • 远程工作岗位机会
  • Leetcode面试经典150题
  • MAC M1系统编译ffmpeg-gl-transition
  • 【 ARMv8/ARMv9 硬件加速系列 3.5.1 -- SVE 谓词寄存器有多少位?】
  • 配置中心理论学习
  • 展厅设计要遵守哪些原则
  • Aptos Builder Jam 亚洲首站|议程公布,无限畅想 Aptos 生态未来
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • mysql innodb 索引使用指南
  • MySQL QA
  • Node + FFmpeg 实现Canvas动画导出视频
  • NSTimer学习笔记
  • PHP 7 修改了什么呢 -- 2
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Vue组件定义
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 阿里云前端周刊 - 第 26 期
  • 浮现式设计
  • 关于extract.autodesk.io的一些说明
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端代码风格自动化系列(二)之Commitlint
  • 前言-如何学习区块链
  • 浅谈web中前端模板引擎的使用
  • 微服务入门【系列视频课程】
  • 小程序button引导用户授权
  • 译米田引理
  • 再次简单明了总结flex布局,一看就懂...
  • 再谈express与koa的对比
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​马来语翻译中文去哪比较好?
  • # .NET Framework中使用命名管道进行进程间通信
  • #Linux(帮助手册)
  • (1) caustics\
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (LLM) 很笨
  • (PySpark)RDD实验实战——求商品销量排行
  • (Python) SOAP Web Service (HTTP POST)
  • (Qt) 默认QtWidget应用包含什么?
  • (回溯) LeetCode 40. 组合总和II
  • (十三)Flink SQL
  • (一)UDP基本编程步骤
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)树状数组
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .Family_物联网