uni-app 项目支持 vue 3.0 介绍及升级指南

发布于 1周前 作者 sinazl 来自 uni-app

uni-app 项目支持 vue 3.0 介绍及升级指南

简介

HBuilderX 3.3.0+ 更新uni-app编译器,支持基于 Vite 编译到小程序平台。

至此,uni-appApp/H5/小程序全平台支持Vue 3.0开发,且全平台支持Vite编译器,下载 HBuilderX 3.3.0+ 体验

Tips:

除支持 vue3 语法特性外,uni-app 特有的生命周期钩子支持 Composition API,如 onLaunchonShowonLoad… ,使用方法见 Vue2 迁移 Vue3 文档

HBuilderX创建支持 vue3 的 uni-app 项目

从 HBuilderX 3.3.0+ 起,支持创建 vue3 的 uni-app 项目,一套代码运行到多端:

  1. 创建一个 uni-app 项目
  2. 在项目的 manifest 的「基础配置」中切换 「vue 版本选择」,默认是 vue2,切换为 vue3 即可

创建 vue3 项目

cli 创建支持 vue3 的 uni-app 项目

  1. 创建 Vue3/Vite 工程
    # 创建以 javascript 开发的工程  
    npx degit dcloudio/uni-preset-vue#vite my-vue3-project  
    
    # 创建以 typescript 开发的工程  
    npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project  
    
  2. 进入工程目录
    cd my-vue3-project  
    
  3. 安装依赖
    npm i  或  yarn  
    
  4. 运行
    # 运行到 h5   
    npm run dev:h5  
    # 运行到 app   
    npm run dev:app  
    # 运行到 微信小程序  
    npm run dev:mp-weixin  
    
  5. 打包
    # 打包到 h5   
    npm run build:h5  
    # 打包到 app   
    npm run build:app  
    # 打包到 微信小程序  
    npm run build:mp-weixin  
    

更新依赖版本

参考:更新依赖版本

从 vue2 迁移到 vue3

请参看官方文档从 vue2 迁移到 vue3

注意事项

  • vue3 响应式基于 Proxy 实现,不支持iOS9和ie11。vue3 中文文档
  • 暂不支持新增的 Teleport,Suspense 组件。
  • 在 Vue3 中,处理 API Promise 化 调用结果的方式不同于 Vue2。更多
    • Vue3 中,调用成功会进入 then 方法,调用失败会进入 catch 方法
    • Vue2 中,调用无论成功还是失败,都会进入 then 方法,返回数据的第一个参数是错误对象,第二个参数是返回数据

欢迎开发者反馈使用该版本遇到的问题,我们将积极收集意见。

开发环境、版本号、项目创建方式

项目 描述
开发环境 HBuilderX 3.3.0+
版本号 Vue 3.0, Vite
项目创建方式 使用 HBuilderX 创建 uni-app 项目,或通过 CLI 创建 Vue3/Vite 工程

1 回复

uni-app 项目支持 Vue 3.0 介绍及升级指南

uni-app 对 Vue 3.0 的支持介绍

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,它支持编译为 H5、小程序、App(iOS/Android)、以及各种小程序快应用等多个平台。随着 Vue 3.0 的发布,uni-app 也逐步增加了对 Vue 3.0 的支持,为开发者带来了更强大的功能和更高的性能。

Vue 3.0 引入了 Composition API,这是与 Vue 2.x 中的 Options API 平行的一种新的逻辑复用和组织的方式。它使得组件逻辑更加集中和灵活,同时提供了更好的类型推断支持。uni-app 在支持 Vue 3.0 后,开发者可以在项目中充分利用这些新特性。

升级指南

要将现有的 uni-app 项目从 Vue 2.x 升级到 Vue 3.0,需要按照以下步骤进行:

1. 更新项目依赖

首先,确保你的项目依赖是最新的,特别是 uni-app 和相关的 Vue 依赖。你可以通过修改 package.json 文件中的版本号,然后运行 npm installyarn 来更新依赖。

// package.json
{
  "dependencies": {
    "vue": "^3.0.0",
    "@vue/compiler-sfc": "^3.0.0",
    "uni-app": "^最新版本号"
    // 其他依赖...
  }
}

2. 修改项目配置

manifest.json 文件中,可能需要更新一些与 Vue 版本相关的配置。此外,确保你的构建脚本和工具链支持 Vue 3.0。

3. 迁移组件和逻辑

由于 Vue 3.0 引入了 Composition API,你可能需要将一些使用 Options API 的组件迁移到新的 API 上。以下是一个简单的示例,展示了如何将一个 Vue 2.x 的组件迁移到 Vue 3.0:

Vue 2.x 组件示例

<template>
  <div>{{ message }}</div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue 2!'
    };
  }
};
</script>

Vue 3.0 组件示例

<template>
  <div>{{ message }}</div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const message = ref('Hello Vue 3!');
    return { message };
  }
};
</script>

4. 测试和调试

在升级完成后,进行全面的测试和调试是非常重要的。确保所有功能都按预期工作,并检查是否有任何性能问题或兼容性问题。

通过以上步骤,你可以将你的 uni-app 项目成功升级到 Vue 3.0,并享受新版本带来的所有优势。

回到顶部