vue2升级到vue2.7

vue2升级到vue2.7
小小的改进,大大的提升
只需要简单修改,开发体验得到大大提升.
为什么要升级Vue2.7
不能拒绝的理由:
- 组合式 API(解决mixins问题:命名冲突,隐式依赖)
- 单文件组件内的
<script setup>语法 - 模板表达式中支持 ESNext 语法(可选链:
?.、空值合并:??) - 单文件组件内的 CSS v-bind
升级哪些内容
我项目中直接使用的webpack(只需升级下面两个包)
vue升级到^2.7.0
"dependencies": {// "vue": "2.6.12""vue": "^2.7.0"
}
vue-loader升级到^15.11.1
"devDependencies": {//"vue-loader": "^15.7.0""vue-loader": "^15.10.0"
}
如果你项目使用的vue-cli
-
@vue/cli-xxx 将本地的
@vue/cli-xxx依赖升级至所在主版本范围内的最新版本 (如有):- v4 升级至
~4.5.18 - v5 升级至
~5.0.6 vue升级至^2.7.0
- v4 升级至
同时你可以从依赖中移除 vue-template-compiler——它在 2.7 中已经不再需要了。
注意:如果你在使用 @vue/test-utils,那么 vue-template-compiler 需要保留,因为该测试工具集依赖了一些只有这个包会暴露的 API。
-
vue相关依赖
vue-loader:^15.10.0vue-demi:^0.13.1- eslint-plugin-vue 至最新版本 (9+)
setup 中使用 vuex、vue-router
由于项目版本 vuex、vue-router 均为 v3,组合式 API 中,我们需要使用一些新的函数来代替访问 this等方法,如:this.$store、this.$router、this.$route。
解决方案:也用到了 getCurrentInstance,通过它封装一些方法使用。
- vue2.7-composition-helpers.js
import { getCurrentInstance } from 'vue'export function useStore() {const { proxy } = getCurrentInstance()const store = proxy.$storereturn store
}
export function useRoute() {const { proxy } = getCurrentInstance()const route = proxy.$routereturn route
}
export function useRouter() {const { proxy } = getCurrentInstance()const router = proxy.$routerreturn router
}
第三方库 element ui
同样我们第三方库的方法,比如: this.$message等方法也不能使用了,这里也放到上面的工具js中.
/*** 升级vue2.7辅助函数*/
import { getCurrentInstance } from 'vue'
/** this.$store替换方案 */
export function useStore() {const { proxy } = getCurrentInstance()const store = proxy.$storereturn store
}
/** this.$route替换方案 */
export function useRoute() {const { proxy } = getCurrentInstance()const route = proxy.$routereturn route
}
/** this.$router替换方案 */
export function useRouter() {const { proxy } = getCurrentInstance()const router = proxy.$routerreturn router
}
/** this.$message方法替换方案 */
export function useMessage() {const { proxy } = getCurrentInstance()const message = proxy.$messagereturn message
}
/** this.$modal替换方案 */
export function useModal() {const { proxy } = getCurrentInstance()const modal = proxy.$modalreturn modal
}
深度选择器改写::v-deep、/deep/为:deep()
更新后,如果有::v-deep、/deep/相关的报错或者警告,需要改用:deep()
<style scoped>.a :deep(.b) { /* ... */ }
</style>
eslint-plugin-vue 升级到 v9 以上
在使用 setup 语法糖的时候由于内部变量都是直接声明暴露给模板使用的,所以旧版 eslint 检测到会有未使用的变量的时候会报错 ‘unused…’
"devDependencies": {"eslint-plugin-vue": "^9.3.0"
}
与 Vue 3 的行为差异
❌ createApp() (Vue 2 不支持相互隔离的应用 scope)
❌ <script setup> 中的顶层 await (Vue 2 不支持异步组件初始化)
❌ 模板表达式中的 TypeScript 语法 (与 Vue 2 parser 不兼容)
❌ 响应性语法糖 (仍处于试验阶段)
❌ 选项式组件不支持 expose (但是在 <script setup> 中支持 defineExpose())。
相关文章:
vue2升级到vue2.7
vue2升级到vue2.7 小小的改进,大大的提升 只需要简单修改,开发体验得到大大提升. 为什么要升级Vue2.7 不能拒绝的理由: 组合式 API(解决mixins问题:命名冲突,隐式依赖)单文件组件内的 <script setup>语法模板表达式中支持 ESNext 语法(可选链:?.、空值合并:??)单文…...
【django2.0之Rest_Framework框架一】rest_framework序列器介绍
Django RestFramework(简称DRF) 提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流、过滤、分页、接口文…...
Mock 测试详解:什么是 Mock 测试
Mock测试 什么是 Mock ? Mock 的意思就是,当你很难拿到源数据时,你可以使用某些手段,去获取到跟源数据相似的假数据,拿着这些假数据,前端可以先行开发,而不需要等待后端给了数据后再开发。 Mo…...
Android端自定义铃声
随着移动应用竞争进入红海时代,如何在APP推送中别出心裁显得尤为重要。例如对自己的APP推送赋予独特的推送铃声,能够给用户更加理想的使用体验。 1、个性化提醒铃声有助于当收到特定类型的消息时,用户能够立刻识别出来。 2、不同的推送铃声…...
docker mysql 5.7
1.docker 安装mysql 5.7 docker pull mysql:5.72.配置容器MySQL数据、配置、日志挂载宿主机目录 # 宿主机创建数据存放目录映射到容器 mkdir -p /usr/local/docker_data/mysql/data# 宿主机创建配置文件目录映射到容器 mkdir -p /usr/local/docker_data/mysql/conf #(需要在…...
MySQL中如何进行分库分表的设计和实现?
分库分表是一种常用的数据库扩展方式,可以提高数据库的并发处理能力和扩展性,下面是分库分表的设计和实现的一般步骤: 数据库选择:选择合适的数据库管理系统(DBMS),如MySQL,支持分库…...
linux 安装谷歌浏览器和对应的驱动
创建文件install-google-chrome.sh #! /bin/bash# Copyright 2017-present: Intoli, LLC # Source: https://intoli.com/blog/installing-google-chrome-on-centos/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted p…...
FPGA的通用FIFO设计verilog,1024*8bit仿真,源码和视频
名称:FIFO存储器设计1024*8bit 软件:Quartus 语言:Verilog 本代码为FIFO通用代码,其他深度和位宽可简单修改以下参数得到 reg [7:0] ram [1023:0];//RAM。深度1024,宽度8 代码功能: 设计一个基于FPGA…...
攻防世界web篇-backup
这是链接中的网页,只有一句话 试着使用.bak点缀看看是否有效 这里链接中加上index.php.bak让下在东西 是一个bak文件,将.bak文件改为.php文件试试 打开.php文件后就可以得到flag值...
uni-app:js二维数组与对象数组之间的转换
一、二维数组整理成对象数组 效果 [ ["前绿箭","DI10","RO1"], ["前红叉","DI2","RO2"], ["后绿箭","DI12","RO3"], ["后红叉","DI4","RO6"] ] …...
15-bean生命周期,循环依赖
文章目录 1. bean生命周期 1. bean生命周期...
缩短cin时间
std::ios::sync_with_stdio(false);...
【试题030】C语言之关系表达式例题
1.关系表达式是用关系运算符将两个表达式连接起来 错误示例:a<bc (不是关系运算符,是赋值运算符) 2.题目:设int m160,m280,m3100;,表达式m3>m2>m1的值是 ? 3.代码分析: …...
ArGIS Engine专题(14)之GP模型根据导入范围与地图服务相交实现叠置分析
一、结果预览 二、需求简介 前端系统开发时,可能遇到如下场景,如客户给出一个图斑范围,导入到系统中后,需要判断图斑是否与耕地红线等地图服务存在叠加,叠加的面积有多少。虽然arcgis api中提供了相交inserect接口,但只是针对图形几何之间的相交,如何要使用该接口,则需…...
矩阵置零(C++解法)
题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2: 输入…...
Ansible的debug模块介绍,fact变量采集和缓存相关操作演示
目录 一.debug模块的使用方法 1.帮助文档给出的示例 2.主要用到的参数 (1)msg:主要用这个参数来指定要输出的信息 (2)var:打印指定的变量,一般是通过register注册了的变量 (3&…...
零基础新手也能会的H5邀请函制作教程
随着科技的的发展,H5邀请函已经成为了各种活动、婚礼、会议等场合的常见邀约方式。它们不仅可以提供动态、互动的体验,还能让邀请内容更加丰富多彩。下面,我们将通过乔拓云平台,带领大家一步步完成H5邀请函的制作。 1. 选择可靠的…...
推荐《中华小当家》
《中华小当家!》 [1] 是日本漫画家小川悦司创作的漫画。该作品于1995年至1999年在日本周刊少年Magazine上连载。作品亦改编为同名电视动画,并于1997年发行播出。 时隔20年推出续作《中华小当家!极》,于2017年11月17日开始连载。…...
接口自动化测试持续集成,Soapui接口功能测试参数化
按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离。当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的维护成本。Soapui最…...
(N-128)基于springboot,vue酒店管理系统
开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis 本系统功…...
【2026唯一官方认证路径】:从Docker Compose到AI Stack v3.0的平滑迁移手册(含GitOps流水线模板+安全策略校验脚本)
更多请点击: https://intelliparadigm.com 第一章:Docker AI Toolkit 2026 核心架构演进与认证路径解析 Docker AI Toolkit 2026 并非简单叠加模型推理能力的工具包,而是以“容器原生 AI 编排”为设计哲学重构的统一运行时平台。其核心架构从…...
【反蒸馏实战 17】金融分析师:当AI覆盖投研全流程,你的“高噪声数据”深度研究能力才是护城河 | AI 4小时写报告?金融分析师反蒸馏进化论(含Python工具链+全流程案例)
摘要:2026年AI投研智能体已能4小时完成传统分析师两周的深度报告,数据处理型分析师薪资下滑,而专家型分析师薪资逆势上涨。本文基于券商实战经验,拆解金融分析师“被蒸馏”现状与AI核心盲区,提供可落地的“反蒸馏”方案:从“报告写手”转型“高噪声信号解码者”。通过Pyt…...
【数据结构】图-----关键路径
一、核心前提AOE 网:有向无环、带权边,边代表活动,顶点代表事件;源点(起点:入度为 0)、汇点(终点:出度为 0)。关键路径:从源点 → 汇点的最长路径…...
哈希算法核心特性解析
哈希算法(Hash Algorithm)是一种将任意长度的输入(或消息)通过散列函数(Hash Function)变换成固定长度的输出(哈希值,或称摘要)的数学函数 。这个输出值通常是一个由字母…...
Reference Extractor:3分钟快速恢复丢失的Zotero和Mendeley引用数据
Reference Extractor:3分钟快速恢复丢失的Zotero和Mendeley引用数据 【免费下载链接】ref-extractor Reference Extractor - Extract Zotero/Mendeley references from Microsoft Word files 项目地址: https://gitcode.com/gh_mirrors/re/ref-extractor Ref…...
告别硬件IIC:STM32F103用软件模拟IIC读写AT24C02/04/16全攻略(含地址计算详解)
STM32软件模拟IIC驱动AT24C系列EEPROM实战指南 1. 为什么选择软件模拟IIC? 在嵌入式开发中,IIC总线因其简单的两线制(SDA和SCL)和灵活的多设备连接特性,成为连接各类传感器的首选方案。然而,STM32的硬件IIC…...
Steam成就管理器如何实现安全可靠的成就管理?
Steam成就管理器如何实现安全可靠的成就管理? 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievement Manager(简称SAM&…...
如何用Fan Control彻底解决Windows电脑风扇噪音问题:终极免费控制指南
如何用Fan Control彻底解决Windows电脑风扇噪音问题:终极免费控制指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/Git…...
终极指南:WarcraftHelper如何彻底解锁魔兽争霸3帧率限制实现180fps流畅体验
终极指南:WarcraftHelper如何彻底解锁魔兽争霸3帧率限制实现180fps流畅体验 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelpe…...
Driver Store Explorer终极指南:免费清理Windows驱动垃圾,轻松释放磁盘空间
Driver Store Explorer终极指南:免费清理Windows驱动垃圾,轻松释放磁盘空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你的Windows系统盘空间是否在不知不觉…...
