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

张家港建设局官方网站3000元网站建设三年

张家港建设局官方网站,3000元网站建设三年,做网站阳泉,商城微信网站开发vue2升级到vue2.7 小小的改进,大大的提升 只需要简单修改,开发体验得到大大提升. 为什么要升级Vue2.7 不能拒绝的理由: 组合式 API(解决mixins问题:命名冲突,隐式依赖)单文件组件内的 <script setup>语法模板表达式中支持 ESNext 语法(可选链:?.、空值合并:??)单文…

在这里插入图片描述

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

同时你可以从依赖中移除 vue-template-compiler——它在 2.7 中已经不再需要了。

注意:如果你在使用 @vue/test-utils,那么 vue-template-compiler 需要保留,因为该测试工具集依赖了一些只有这个包会暴露的 API。

  • vue相关依赖

    • vue-loader^15.10.0
    • vue-demi^0.13.1
    • eslint-plugin-vue 至最新版本 (9+)

setup 中使用 vuex、vue-router

由于项目版本 vuexvue-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())。

http://www.yayakq.cn/news/63890/

相关文章:

  • 怎么做样网站设计网站价格表
  • 临沧高端网站建设wordpress添加搜索栏
  • 在自己电脑上做网站想学程序员去哪里学
  • 北京网站推广排名服务网上商城网站建设报价
  • 贵州省建设厅官网网站工业和信息化部装备工业发展中心
  • 中小学网站建设探讨深圳住建局最新消息
  • 有没有什么网站专门帮人做问卷flash 做ppt的模板下载网站有哪些
  • 展示网站和营销网站的区别佛山科技网站建设
  • 南京电子商务网站建设wordpress 兼容php7
  • mui做wap网站wordpress在线课程主题
  • 网站开发员名称是什么wordpress文章html页面模板
  • 已有网站开发app怎么在静态网站基础上加动态
  • 玉树州wap网站建设公司wordpress注册邮箱验证
  • 重庆一站式建设网站平台个人网站备案流程和规则
  • 网站建设前分析网站301如何做
  • 兰州网站建设优化推广wordpress微信支付模板
  • 网站建设必须提供良好的用户体验好商网
  • 旅游网站首页设计图片网页网站设计公司有哪些
  • jsp的网站建设网站自学
  • 做狗狗网站的背景图怎做网站手机
  • html网站开发教程app和手机网站
  • 余姚做网站的公司网页制作软件属于应用软件吗
  • 广州专业的网站建设公司排名军事新闻内容摘抄
  • 怎样拍照产品做网站php网站开发实训感想
  • 网站开发工程师工资hangq优惠建网站
  • 网站页头云南网站新备案制
  • 郑州达云通网站建设公司wordpress文章分类设置
  • 好看的网站分享wordpress瀑布流网店
  • 网站工作状态建设做公司集团网站
  • 天河网站建设哪家好怎么给新网站做推广