使用vue3 开发H5 ,需要注意的部分点

以下内容为使用vue3 开发H5 中碰到的几个点,个人愚见。不定期进行补充。

框架端

1. 安装 vite插件 @vitejs/plugin-legacy

npm add -D @vitejs/plugin-legacy

使用:
vite.config.js 中引入

import legacy from '@vitejs/plugin-legacy';
export default defineConfig({
 plugins: [
 	// 示例
 	legacy({
		targets: ['Chrome 63'],
		additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
		modernPolyfills: true
	}),
	... // 其他配置 
  ]
});

说明: 插件说明以及具体配置 戳 github

目的: 为打包后的文件提供传统浏览器兼容性支持。具体讲就是,vue3 开发的H5 如果不进行这个配置,可能会在不同版本的 iOS/Android 手机上出现打开页面,但是空白的情况。

2. 调试使用 vConsole

npm install vconsole

使用:
在项目的 main.js 中引入

import Vconsole from 'vconsole'

const vConsole = new Vconsole()

说明: 插件地址 vConsole README_CN
引用后页面上会出现一个绿色的 vConsole 按钮。(如果开发过小程序的话,对这个页面会感到非常熟悉)
实际开发中,在 new Vconsole() 时,应当根据环境进行。保证不在生产环境出现调试按钮 。
必须要在生产环境debug的话,那有这个就非常不错了
目的: 可以在真机运行时,进行调试,查看相关 打印和请求等报错。方便调试。

代码层面

1. meta 标签的设置

使用:
在html 文件中,添加

  <meta
      name="viewport"
      id="viewport"
      content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, viewport-fit=cover" />

说明:

key说明
user-scalable是否允许缩放
initial-scale初始倍数
maximum-scale最大倍数
minimum-scale最小倍数

建议在真机中,对上述的属性进行修改并且查看效果。可以更好的理解。
最重要的是 viewport-fit=cover 属性。
实际的工作中,部分H5页面是在原生app中打开,为了H5完成展示和交互体验,一般会将WebView全屏展示H5。这时候,因为H5需要考虑头部的留海和底部的切换区域,所以一般会使用定位属性进行布局。因为原生的webview有内置的安全距离属性,如果没有添加viewport-fit=cover 的话,比如在设置top:0时,定位的元素会直接到导航栏位置。反正,添加了之后,会出现在留海下方,也就是安全区域顶部的起始点。(具体了解 可见 安全区域

目的: H5 页面,顶部和底部布局时配合 safe-area-inset-XXXX 可以做到几行代码兼容大部分机型的布局。

2. H5 标签添加点击态

使用:
在html 文件中的 body标签上,添加 ontouchstart=""

<body ontouchstart="">
	<div id="app"></div>
	<script type="module" src="/src/main.js"></script>
</body>

说明:
在写常规的web端页面时,我们直接是对需要点击的标签添加 active 伪类来实现点击态效果(就是点一个标签的时候,标签的样式进行变化)。
但是同样的写法,放到H5 的时候发现无效。实际并不是点击事件未触发,而是在移动端上 触屏事件是touch 触发的。

目的: 使用了上述方法后,就可以正常的使用 active伪类 了。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在HBuilderX中开发Uniapp Vue3项目的步骤如下: 1. 首先,你需要在阿里图标库中搜索并下载你需要的图标。根据引用的说明,你可以将图标添加至购物车,然后将其下载至本地。下载完成后,解压缩压缩包,并将其中的iconfont.ttf文件拷贝到你的项目中。 2. 在HBuilderX中创建一个Uniapp项目。Uniapp是一种基于Vue框架的跨平台开发框架,它可以同时开发多个平台的应用程序,包括小程序、App以及H5网页。 3. 在Uniapp项目中,你需要使用Vue3来进行前端开发Vue3是Vue.js的最新版本,它提供了更好的性能和开发体验。在前端开发过程中,你可以使用HTML、CSS和JavaScript来编写页面的结构、样式和交互逻辑。 4. 在后端开发方面,你可以选择使用Golang语言和Gin框架。Golang是一种高效的编程语言,而Gin是一个轻量级的Web框架,适用于构建后端服务。 5. 在开发过程中,要注意网页的响应时间。根据引用的说明,网页的响应时间应该在1秒以内。 总结起来,你可以通过以下步骤在HBuilderX中开发Uniapp Vue3项目: 1. 下载并解压缩阿里图标库中的图标,并将其拷贝到项目中。 2. 在HBuilderX中创建一个Uniapp项目。 3. 使用Vue3进行前端开发,包括HTML、CSS和JavaScript。 4. 选择Golang和Gin框架进行后端开发。 5. 注意网页的响应时间,确保在1秒以内。 希望以上信息对你有帮助!<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [使用hbuilder X创建uniapp项目](https://blog.csdn.net/Summer_JK/article/details/125385736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [go语言恶意代码检测系统-对接前端可视化与算法检测部分](https://download.csdn.net/download/liufang_imei/88222624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余九月丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值