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

「Vue3系列」Vue3简介及安装

文章目录

  • 一、Vue3简介
  • 二、Vue3安装
  • 三、Vue3应用案例
  • 四、package.json详解
  • 五、相关链接

一、Vue3简介

Vue3是Vue.js框架的第三个主要版本,于2020年9月18日发布,代号为“One Piece”。Vue3在性能、体积、TypeScript支持、API设计等方面都有显著的提升和改变。

  1. 性能提升:Vue3通过源码的升级,如使用Proxy代替defineProperty实现响应式,重写虚拟DOM的实现和Tree-Shaking,使得打包大小减少了41%,初次渲染速度提升了55%,更新渲染速度提升了133%,内存减少了54%。
  2. 体积更小:Vue3通过优化和减少不必要的代码,使得其体积更小,更适合现代前端项目的需求。
  3. 更好的TypeScript支持:Vue3可以更好的支持TypeScript,使得开发者能够更方便地使用类型检查和自动补全等功能,提高开发效率和代码质量。
  4. 新的API设计:Vue3引入了新的Composition API,使得代码更加灵活和可维护。同时,Vue3也保留了Options API,使得开发者可以根据自己的需求选择使用哪种API。
  5. 其他改变:Vue3还引入了一些其他的改变,如新的生命周期钩子、data选项应始终被声明为一个函数等。这些改变都是为了更好地满足现代前端项目的需求和提高开发效率。

二、Vue3安装

Vue3的安装可以通过以下步骤进行:

  1. 安装Node.js:首先,你需要在你的计算机上安装Node.js。你可以在Node.js的官方网站(https://nodejs.org/)上下载并安装适合你操作系统的版本。请注意,Vue3需要Node.js 16.17.0或更高版本,因此请确保你安装的是兼容的版本。
  2. 使用npm或yarn安装Vue3:在你的项目目录中,打开终端或命令提示符,然后运行以下命令来安装Vue3:
  • 使用npm:npm install vue@next
  • 使用yarn:yarn add vue@next

这些命令将下载并安装Vue3及其相关依赖项。

  1. 创建一个Vue3项目:你可以使用Vue CLI来创建一个新的Vue3项目。首先,你需要全局安装Vue CLI。在终端或命令提示符中运行以下命令:
  • 使用npm:npm install -g @vue/cli
  • 使用yarn:yarn global add @vue/cli

安装完成后,你可以使用Vue CLI来创建一个新的Vue3项目。在终端或命令提示符中导航到你想要创建项目的目录,然后运行以下命令:vue create my-project。这将创建一个名为“my-project”的新Vue3项目。

  1. 启动项目:进入你的项目目录,然后运行以下命令来启动开发服务器:
  • cd my-project
  • npm run serveyarn serve

这将启动一个本地开发服务器,你可以在浏览器中访问http://localhost:8080来查看你的Vue3应用程序。

三、Vue3应用案例

首先,确保你已经安装了 Node.js 和 Vue CLI。然后按照之前的步骤创建一个新的 Vue3 项目,或者直接在你现有的 Vue3 项目中进行操作。

  1. 创建计数器组件

src/components 目录下创建一个名为 Counter.vue 的文件,并输入以下代码:

<template><div><p>当前计数:{{ count }}</p><button @click="increment">增加</button><button @click="decrement">减少</button></div>
</template><script>
export default {name: 'Counter',data() {return {count: 0};},methods: {increment() {this.count++;},decrement() {this.count--;}}
};
</script>
  1. 在 App 组件中使用计数器组件

打开 src/App.vue 文件,并更新它以包含 Counter 组件:

<template><div id="app"><Counter /></div>
</template><script>
import Counter from './components/Counter.vue';export default {name: 'App',components: {Counter}
};
</script>
  1. 运行你的 Vue3 应用

回到你的项目根目录,并运行以下命令来启动开发服务器:

npm run serve

或者如果你使用的是 yarn:

yarn serve

浏览器将自动打开,并显示你的 Vue3 应用。你应该会看到一个带有“当前计数:0”和两个按钮(增加和减少)的界面。点击这些按钮,计数将相应地增加或减少。

这个案例演示了如何在 Vue3 中创建一个简单的组件,并在父组件中使用它。它还展示了如何在组件中定义数据和方法,以及如何在模板中使用它们。

四、package.json详解

package.json 是 Vue3 项目(以及其他 Node.js 项目)中的一个核心文件,它位于项目的根目录下。这个文件定义了项目的基本配置信息以及项目所依赖的各种模块。当你运行 npm install 命令时,npm 会根据 package.json 文件中的信息来下载和安装所需的依赖包。

以下是 package.json 文件中的一些重要字段和它们在 Vue3 项目中的常见用法:

  1. name: 这是你的项目的名称。例如:"name": "my-vue3-project"
  2. version: 这是你的项目的版本号。通常,在开发过程中,你会不断地更新和发布新的版本,例如:"version": "1.0.0"
  3. description: 项目的简短描述。
  4. scripts: 这里定义了各种 npm 脚本命令,用于执行常见的开发任务。例如:
    • "serve": "vue-cli-service serve":运行项目的开发服务器。
    • "build": "vue-cli-service build":构建用于生产环境的项目版本。
    • "lint": "vue-cli-service lint":检查项目中的代码规范。
  5. dependencies: 这里列出了项目运行所依赖的模块。在 Vue3 项目中,你可能会看到像 "vue": "^3.0.0" 这样的依赖项,表示项目依赖于 Vue 3.x 版本。
  6. devDependencies: 这里列出了项目开发所需的模块,但这些模块在生产环境的运行时不是必须的。例如,各种开发工具、编译器、测试框架等。
  7. main: 指定了项目的入口文件。在 Vue3 项目中,这通常是 main.jsmain.ts
  8. keywords: 与项目相关的关键词列表,有助于在搜索时找到你的项目。
  9. author: 项目的作者信息。
  10. license: 项目使用的许可证类型。

此外,package.json 文件中还可能包含其他字段,如 engines(指定项目运行的 Node.js 版本)、Browser(指定供浏览器使用的模块版本)等。

五、相关链接

  1. Vue3官方地址
  2. Vue3中文文档

相关文章:

「Vue3系列」Vue3简介及安装

文章目录 一、Vue3简介二、Vue3安装三、Vue3应用案例四、package.json详解五、相关链接 一、Vue3简介 Vue3是Vue.js框架的第三个主要版本&#xff0c;于2020年9月18日发布&#xff0c;代号为“One Piece”。Vue3在性能、体积、TypeScript支持、API设计等方面都有显著的提升和改…...

Javascript:分支语句

一、前言 关于分支语句的介绍来啦&#xff0c;开始记笔记。 二、正文 1.分支语句if 分支语句就是通过判断已给的表达式的条件来执行语句&#xff0c;表达式为真才能执行. if(条件){满足条件才要执行的代码} 条件为true时&#xff0c;才能进行大括号的代码。 除了空字符串&am…...

从零开始学习PX4源码2(PX4姿态误差计算)

目录 文章目录 目录摘要1.源码1.1源码路径1.2源码程序1.3源码功能 2.源码分析 摘要 本节主要记录PX4姿态误差计算过程&#xff0c;欢迎批评指正。 1.源码 1.1源码路径 PX4-Autopilot/src/modules/mc_att_control/AttitudeControl/AttitudeControl.cpp1.2源码程序 matrix::…...

git安装与使用4.3

一、git的安装 1、下载git包 下载git包url&#xff1a;https://git-scm.com/download/win 下载包分为&#xff1a;64位和32位 2、点击安装包 2、选择安装路径 3、 点击下一步 4、点击next 5、点击next 6、点击next 7、 8、 9、 10、 11、 12、在桌面空白处&#xff0c;右键…...

Python:关于数据服务中的Web API的设计

搭建类似joinquant、tushare类似的私有数据服务应用&#xff0c;有以下一些点需要注意&#xff1a; 需要说明的是&#xff0c;这里讨论的是web api前后端&#xff0c;当然还有其它方案&#xff0c;thrift&#xff0c;grpc等。因为要考虑到一鱼两吃&#xff0c;本文只探讨web ap…...

VMwareWorkstation17.0虚拟机安装搭建PcDos2000虚拟机(完整图文详细步骤教程)

VMwareWorkstation17.0虚拟机安装搭建PcDos2000虚拟机&#xff08;完整图文详细步骤教程&#xff09; 一、PcDos20001.PcDos2000简介2.PcDos2000下载 二、创建PcDos2000虚拟机1.新建虚拟机2.类型配置3.类型配置4.选择版本5.命名、存位置6.磁盘容量7.调整虚拟配置7.1 调整虚拟配…...

第七个程序:两个字符串连接后计算长度

实验步骤; 第一步&#xff1a;新建项目 第二步&#xff1a;程序编写 第三步&#xff1a;运行结果 Labview一共7个字节&#xff0c;长度为7&#xff0c;一个字母一个字节 汉字为2个字节&#xff0c;图一为4&#xff0c;图二为8 所以结果分别为11和15 视频教学&#xff1a; 字…...

【大数据】-- dataworks 创建odps 的 hudi 外表

文档:创建OSS外部表_云原生大数据计算服务 MaxCompute(MaxCompute)-阿里云帮助中心 举例:创建 odps 的 hudi 外表 CREATE EXTERNAL TABLE IF NOT EXISTS my_project.ods_hudi_mysql_words_h_all (id BIGINT COMMENT 主键id,`words` STRING COMMENT 词…...

ChatGPT与GEE+ENVI+python高光谱,多光谱等成像遥感数据处理技术

原文链接&#xff1a;ChatGPT与GEEENVIpython高光谱&#xff0c;多光谱等成像遥感技术 第一遥感科学与AI基础 一&#xff1a;遥感科学的基本原理和历史 从摄影侦察到卫星图像 遥感的基本原理 遥感的典型应用 最新进展和未来趋势 二&#xff1a;ChatGPT 什么是ChatGPT&a…...

学习linux从0到初级工程师-3

一、LNMP 1.1 搭建LNMP LNMP&#xff1a;LinuxNginxMysqlPHP LNMP优势&#xff1a; 1.web服务器一种&#xff0c;Nginx处理静态文件、索引文件&#xff0c;自动索引的效率非常高&#xff1b; 2.作为代理服务器,Nginx可以实现无缓存的反向代理加速&#xff0c;提高网站运行…...

java实现文件上传到本地

很多时候我们都需要进行文件上传和下载的操作&#xff0c;具体怎么实现网上的代码其实也是挺多的&#xff0c;刚好我的项目中也遇到了文件上传和下载的需求&#xff0c;本篇博文具体讲解上传操作&#xff0c;下篇博文讲解下载操作。 我们具体来想一想要将一个从前端传来的文件…...

基于springboot+vue的多媒体素材库的开发与应用系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

《GitHub新手入门指南:从零开始掌握基本用法》

在现代软件开发和技术社区中,GitHub已经成为了一个不可或缺的平台。它不仅是一个代码托管平台,更是一个技术交流、学习分享的社交平台。但对于初学者来说,GitHub可能会有些令人望而却步。本文将详细介绍GitHub的基本用法,帮助新手快速入门并融入这个充满活力的技术社区。 …...

K8S存储卷与PV,PVC

一、前言 Kubernetes&#xff08;K8s&#xff09;中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据&#xff0c;并且可以保持数据的持久性&#xff0c;即使Pod被重新调度或者删除&#xff0c;数据也不会丢失。 Kubernetes支持多种类型的存储卷…...

(科目三)简答题汇总

模块一 信息和计算机基础 一、简述信息的的特征 【记忆技巧】普传功夫真驾驶 普遍性&#xff1a;信息是无时不有的&#xff0c;无时不在的载体依附性:信息不能独立存在&#xff0c;必须有载体。价值性:同一则信息&#xff0c;对不同的人来说&#xff0c;价值不同。时效性:同…...

8、Redis-Jedis、Lettuce和一个Demo

目录 一、Jedis 二、Lettuce 三、一个Demo Java集成Redis主要有3个方案&#xff1a;Jedis、Lettuce和Redisson。 其中&#xff0c;Jedis、Lettuce侧重于单例Redis&#xff0c;而Redisson侧重于分布式服务。 项目资源在文末 一、Jedis 1、创建SpringBoot项目 2、引入依赖 …...

(Linux学习六)用户特殊权限类型,suid,chattr,umask

一、特殊位suid,针对文件/程序时&#xff0c;具备临时提升权限 分析:root运行是超管的权限&#xff0c;普通用户运行时是普通用户的权限 root /usr/bin/cat(root) /root/file1.txt ok alice/usr/bin/cat(alice) /root/file1.txt 无法访问rootchmod us filename …...

Mysql 数据类型的转换之 cast()

语法 cast( value as type) value 要进行数据转换的值&#xff08;可以为任何类型&#xff09;。type 要转换为的数据类型。type 的常见的类型可以为 &#xff1a; decimal十进制浮点数。可以使用可选的 M 和 D 参数指定最大位数 (M) 和小数点后的位数 (D)float浮点数dou…...

python重命名指定文件夹下的所有文件

最近要测试OCR功能,图片的命名有点杂乱无章.每次找指定名字的图片非常的不容易,所以写了一个小工具来重名了所有的图片. 我这里就用0001到9999的字符串命名了. import os def rename_files(folder_path):# 获取文件夹中所有文件名files os.listdir(folder_path)num 1# 遍历…...

通过多线程并发方式实现服务器

与多进程实现对比来看。 示例来源于网络视频 #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> #include <ctype.h> #include <unistd.h> #include <fcntl.h>#include "wrap.h"#de…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...