> 技术文档 > 手把手带你用 UniApp 开发多端应用(H5 + 小程序 + App)_uniapp开发app

手把手带你用 UniApp 开发多端应用(H5 + 小程序 + App)_uniapp开发app

🧩 前言

🌱 一、准备工作

✅ 开发环境安装

✅ 创建项目

📁 二、项目结构解析

🛠 三、页面开发:Hello UniApp!

✨ 我们从首页(index.vue)点击跳转到关于页(about.vue),传递用户名参数 username=张三

📖 关于页 pages/about.vue

🔧 四、确认 pages.json 配置正确

⚡ 五、运行项目

🔍 六、调用内置 API 示例

运行说明

🔐 权限说明(App 端)

🧠 项目心得体会

✅ 1. 初识跨平台开发的便利

✅ 2. 页面跳转与参数传递

✅ 3. 扫码功能尝试与挑战

✅ 4. 错误调试与查阅文档的重要性

✅ 5. 项目拓展的方向

总结一句话

🧩 拓展推荐


🧩 前言

在当前前端技术百花齐放的时代,跨平台开发成为趋势。UniApp 正是 DCloud 公司推出的一套基于 Vue.js 的跨平台框架,一次开发、可以发布到iOS、Android、H5、小程序、快应用等多个平台

本篇文章将带你从 0 到 1 搭建一个简单的 UniApp 项目,掌握基本结构、页面开发、组件使用、数据绑定、API调用等核心技能。


🌱 一、准备工作

✅ 开发环境安装

  • 下载并安装 HBuilderX(推荐,可视化开发+真机调试)

  • 或者使用 vue-cli 搭配 @dcloudio/cli 创建项目(适合熟悉命令行的开发者)

✅ 创建项目

使用 HBuilderX 打开软件后:

文件 → 新建 → 项目 → 选择 uni-app 项目模板

选择默认模板,命名为:HelloUniApp,点击完成即可。


📁 二、项目结构解析


🛠 三、页面开发:Hello UniApp!

✨ 我们从首页(index.vue)点击跳转到关于页(about.vue),传递用户名参数 username=张三

  欢迎来到首页  export default { methods: { goAbout() { // 通过 URL 携带参数 uni.navigateTo({ url: \'/pages/about/about?username=张三\' }) } }}.container { padding: 40rpx;}.title { font-size: 32rpx; margin-bottom: 20rpx;}

📖 关于页 pages/about.vue

  接收到的用户名:{{ username }} export default { data() { return { username: \'\' } }, // 页面加载时接收参数 onLoad(options) { this.username = options.username || \'未传值\' console.log(\'接收到的参数:\', options) }}.container { padding: 40rpx; font-size: 30rpx;}

🔧 四、确认 pages.json 配置正确

打开 pages.json,添加如下内容:

{ \"pages\": [ { \"path\": \"pages/index/index\", \"style\": { \"navigationBarTitleText\": \"首页\" } }, { \"path\": \"pages/about/about\", \"style\": { \"navigationBarTitleText\": \"关于\" } } ]}

⚡ 五、运行项目

  • HBuilderX:点击左上角“运行” → 选择“运行到浏览器” 或 “运行到小程序模拟器”

  • 命令行:使用 npm run dev:%PLATFORM% 进行平台编译

示例命令:

npm run dev:h5 # 运行在浏览器npm run dev:mp-weixin # 编译为微信小程序

🔍 六、调用内置 API 示例

比如调用扫一扫功能:

运行说明

  • H5 端:部分浏览器不支持调用摄像头扫码(推荐使用微信开发者工具、小程序、真机预览测试)。

  • 小程序端:需在微信开发者工具/真机中测试。

  • App 端:可用 HBuilderX 真机运行(需真机授权摄像头权限)。s

uni.scanCode({ success: function (res) { console.log(\'扫码结果:\', res.result); }});

🔐 权限说明(App 端)

如果你打包成 App,要在 manifest.json 中开启摄像头权限:

\"app-plus\": { \"distribute\": { \"android\": { \"permissions\": [ \"CAMERA\" ] } }}

🌈 七、项目展示截图

🧠 项目心得体会

在本次基于 UniApp 的小型跨平台项目开发过程中,我收获了许多宝贵的实践经验和开发技巧:

✅ 1. 初识跨平台开发的便利

UniApp 的“一次开发,多端运行”理念确实非常高效。通过编写一套 Vue 代码,我就可以将应用同时运行在微信小程序、H5、App 真机等多个平台,极大地节省了开发和维护成本。这对初学者来说是一个非常理想的前端入门框架。

✅ 2. 页面跳转与参数传递

在实际开发中,我尝试了页面间的参数传递,例如从首页跳转到关于页并携带用户名信息。通过 navigateTo 携带 URL 参数,在目标页面通过 onLoad(options) 接收,掌握了 页面间通信的基本技巧。这让我更加理解了页面生命周期与参数传递的关系。

✅ 3. 扫码功能尝试与挑战

我还尝试实现扫码功能,初期在浏览器中测试时遇到无法使用摄像头的问题,后经查阅文档后了解到:扫码必须在真机运行或微信开发者工具中才生效。通过对 manifest.json 的权限配置,我成功在真机中调用摄像头完成扫码并展示结果。这一过程让我深入理解了不同平台的能力限制与权限机制。

✅ 4. 错误调试与查阅文档的重要性

在项目中我也遇到了一些错误,比如页面跳转无效、路径大小写不一致等问题,起初感到困扰,但通过查看 HBuilderX 控制台日志、官方文档和社区经验,我逐步定位并解决问题。这让我意识到:善于阅读控制台报错信息、查阅官方文档,是前端开发不可或缺的能力

✅ 5. 项目拓展的方向

目前项目已实现页面跳转、参数传递和扫码功能。未来我计划:

  • 引入组件库(如 uView)

  • 增加数据缓存(如使用 Vuex 或 Pinia)

  • 尝试接入后端 API,实现用户登录等功能

    总结一句话

    本次 UniApp 项目开发不仅提升了我的跨平台前端实战能力,更让我养成了良好的调试习惯和开发思维,是一次非常有价值的技术实践体验。


🧩 拓展推荐

🔗 官方文档参考

  • UniApp 官方文档(功能全、更新快)

  • Vue.js 官方文档(组件语法基础)

  • HBuilderX 插件市场(扩展你的能力)

📦 常用组件库推荐

  • uView UI:一套高颜值、功能强大的 uni-app 前端 UI 框架

  • uni-ui:官方维护的组件库,跨平台兼容性好

✅ 推荐配合 HBuilderX 插件使用,快速提升页面质量和开发效率

💡 实战技巧建议

  • 小程序适配技巧:如何使用 mp-weixin 平台标签做兼容开发

  • 真机调试指南:扫码调试、查看日志、权限申请一步到位

  • App 权限设置详解:manifest.json 中摄像头、定位、相册权限配置


如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、评论交流!💬