uniapp vue3 转换华为鸿蒙(以及问题一些解决方案)

         主要是从 Windows系统配置 、配置离线SDK和DevEco-StudioHBuilderX、三方面进行配置。

         因为我也是之前写小程序的用uniapp vue3 写的看官网(uni-app 开发鸿蒙应用 | uni-app官网)的时候看到vue3 uniapp 写法可以转换华为鸿蒙开发,我就自己来尝试一下,以及一下是一些记录。

     这是转换好的

1、转换要求

  1. 鸿蒙开发只支持Vue3,不支持Vue2、不支持plus、但支持nvue
  2. DevEco-Studio 5.0.3.400 以上 下载地址(作为鸿蒙开发)
  3. 鸿蒙系统版本 API 12 以上 (DevEco-Studio有内置鸿蒙模拟器)
  4. HBuilderX-alpha-4.22 以上

2、Windows系统配置

       如使用模拟器则需要开启以下功能

  1. Hyper-V
  2. Windows 虚拟机监控程序平台
  3. 虚拟机平台

     注意: 需要win10专业版或win11专业版才能开启以上功能,家庭版需先升级成专业版或企业版

 (1)打开设置进入控制面板

  (2)点击程序

  (2)启用或者关闭window功能

       并且勾选三个选项。

 3配置离线SDK和DevEco-Studio

  1. 下载 uni-app 鸿蒙离线SDK template-1.3.5.tgz 下载地址

  2. 解压刚下载的压缩包,将解压后的模板工程在 DevEco-Studio 中打开

  3. 等待 Sync 结束,再 启动鸿蒙模拟器 或 连接鸿蒙真机

 (1)SDK下载后解压

可以看到packge文件夹

  (2)创建一个文件夹sdk

     一个项目对应一个SDK,比如我的项目叫uniapporbNoEcharts 将package 拷贝到sdk文件中 然后改成自己项目名称uniapporbNoEcharts

   (3)打开DevEco-Studio

导入刚才下载的sdk文件  就是上图我修改的这个名称uniapporbNoEcharts

这个导入的不是咱们uniapp的项目注意注意注意!!!!!!  是下载的sdk文件

(4)启动鸿蒙模拟器

因为启动模拟器要登录华为账号,注册登录一下即可了

(5)选择模拟器型号 

登录成功后会看到该页面

选择模拟器型号,选第一个即可 (因为我下载过了,第一次是需要下载的

(5)启动按钮启动模拟器 

如果页面时一下页面说明就启动成功了

 (5)配置签名

点击 DevEco-Studio 上方菜单 File - Project Structure...   按照上面要求配置就可以了

在弹出的窗体中选择 Project - Signing Configs 并打钩 Automatically generate signature,即可自动生成签名

最后依次点击 Apply 和 OK 使签名生效   (到这里DevEco-Studio配置就结束了end)

 3配置HBuilderX

(1)配置 HBuilderX settings.json

打开HBuilderX,点击上方菜单 - 工具 - 设置,在出现的弹窗右侧窗体新增如下配置

 注意:值填你自己的 DevEco-Studio 启动路径(因为我自己填错了找了很久!!!!)

"harmony.devTools.path" : "D:/Huawei/DevEco Studio"

 大家可以根据路径去找一找想我这样,看见这样的结构就可以了

 

 (2)配置项目 uni-app 工程

这里配置是根据你的项目,首先你可以新建工程,也可以用你的工程都可以,但是用自己的工程会有很多不兼容性得自己去慢慢找,这里我就用自己的工程

  1. 在 manifest.json 文件中配置鸿蒙离线SDK路径

这个路径是我当时下载的sdk 路径, 是package修改为uniapporbNoEcharts

注意注意注意着不是uniapp的项目路径是sdk的路径!!!!因为自己也写错了

"app-harmony": {
  "projectPath": "C:/Users/wuyongyi/Desktop/prop/sdk/uniapporbNoEcharts"
}

 (2)转换到鸿蒙DevEco-Studio

在这里你要先点击一下左侧的项目,然后点击运行到鸿蒙才可以

 打开控制台HBuilderX 运行转换没有报错,说明就成功了

如果没有出现此菜单,请确认你的 HBuilderX 版本是否是 4.22 及以上 一定要升级

 4、转换成功

返回刚才打开的DevEco-Studio 界面,点击左上角开始按钮(下图我标红框地方)

 下方控制台没有报错,且显示正常,这就算正常转换了,成功了

  5、常见问题

uni-app 开发鸿蒙应用 | uni-app官网

一些基本的问题都在官方手册都有,以后会完善我遇到的一些问题重新记录

大家如果有什么遇到什么问题也可以在下方留言,我都会一一回复

### UniApp Vue 3 使用教程和常见问题解决方案 #### 项目基础介绍和主要编程语言 `uni-vue3-vite-ts-pinia` 是一个基于 UniAppVue 3 的模板项目,支持 Vite 构建工具、TypeScript 编程语言以及 Pinia 状态管理库。此项目的目的是提供一个现代化的开发环境,帮助开发者快速搭建跨平台的应用程序[^1]。 ```typescript // main.ts 中初始化 Vue 应用并配置 Pinia import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; import pinia from &#39;@/stores&#39;; const app = createApp(App); app.use(pinia); app.mount(&#39;#app&#39;); ``` #### iOS 底部安全区域显示问题 对于iOS设备上的应用程序,在屏幕底部可能存在不希望的安全边距影响界面美观度的情况。为了修正这一现象,可以在 `App.vue` 文件内定义全局样式覆盖原有设置: ```css /* App.vue */ <style> .safe-area-bottom { padding-bottom: constant(safe-area-inset-bottom); /* 兼容旧版 Safari */ padding-bottom: env(safe-area-inset-bottom); /* 新标准 */ } </style> ``` 上述代码通过 CSS 变量的方式动态调整底部填充距离,从而确保内容不会被 iPhone X 或更新型号的手势导航栏遮挡[^2]。 #### 将 UniApp Vue 3 转换华为鸿蒙应用 由于 uni-app 官方已经提供了针对 HarmonyOS (华为鸿蒙操作系统)的支持文档和支持指南,因此可以直接参照官方说明完成移植工作。需要注意的是,在迁移过程中可能会遇到特定于平台的功能差异等问题;此时建议查阅相关资料或社区讨论寻求最佳实践方法[^3]。 #### 微信小程序 TabBar 页面路由拦截 当涉及到微信小程序中的 tabbar 导航时,默认情况下点击标签页并不会触发 `uni.switchTab()` 方法调用而是直接切换视图。如果想要实现自定义行为比如权限验证,则应该监听目标页面的 `onShow` 生命周期钩子函数来进行相应处理而不是试图修改原生事件流控制逻辑[^4]。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值