UniApp 入门教程
·
一、UniApp 是什么?
UniApp 是一个使用 Vue.js 语法开发所有前端应用的框架。开发者编写一套代码,可以发布到 iOS、Android、Web(H5)、以及各种小程序(微信/支付宝/百度/头条/QQ/快手/钉钉/淘宝)、快应用等多个平台。
核心优势:
- 跨平台开发: 一套代码,多端发布,极大提升开发效率。
- 学习成本低: 如果你会 Vue.js 和微信小程序语法,上手会非常快。
- 生态丰富: 拥有完善的插件市场(DCloud 插件市场),可以引入各种现成的功能模块。
- 性能良好: 基于小程序原理,在非 H5 端拥有接近原生应用的体验。
二、开发前的准备
-
安装开发工具 HBuilderX
- 这是 DCloud 官方推出的专为 UniApp 定化的 IDE,提供了非常强大的开发支持和调试功能。
- 下载地址: https://www.dcloud.io/hbuilderx.html
- 建议下载 App开发版。
-
基础知识储备
- 必要: HTML、CSS、JavaScript。
- 强烈建议: Vue.js 基础(特别是 Vue 2 的语法)。官方文档:https://v2.cn.vuejs.org/
- 有帮助: 了解任意一种小程序(如微信小程序)的开发流程,因为很多概念是相通的。
三、创建你的第一个 UniApp 项目
- 打开 HBuilderX,点击左上角
文件->新建->项目。 - 选择
uni-app,输入项目名称,选择模板(推荐使用默认模板),点击创建。 - 项目结构如下:
my-first-uniapp │ pages.json // 页面配置,类似小程序的 app.json │ App.vue // 应用入口文件 │ main.js // 应用主脚本 │ index.html // 首页模板 │ manifest.json // 应用配置文件,用于配置应用名称、appid、图标、权限等 ├─pages // 页面目录 │ └─index │ └─index.vue // 首页页面文件 ├─static // 静态资源目录 │ └─logo.png └─uni_modules // uni_modules 规范插件目录
四、核心概念和语法
1. 页面结构 (.vue 文件)
UniApp 使用 Vue 单文件组件(SFC)结构,每个页面由三部分组成:
<template>: 模板部分,负责 UI 结构。这里使用类似小程序的标签,而非 HTML 标签。<template> <view class="container"> <text>{{ message }}</text> <button @click="changeMessage">点击我</button> </view> </template><script>: 脚本部分,负责逻辑和数据。<script> export default { data() { return { message: 'Hello UniApp!' } }, methods: { changeMessage() { this.message = '消息被改变了!'; } } } </script><style>: 样式部分,负责页面样式。<style> .container { padding: 20px; text-align: center; } text { font-size: 16px; color: #333; display: block; margin-bottom: 20px; } </style>
2. 生命周期
- 应用生命周期: 在
App.vue中定义,如onLaunch,onShow,onHide。 - 页面生命周期: 在页面的
.vue文件中定义,如onLoad,onShow,onReady,onHide,onUnload。 - 组件生命周期: 与 Vue 标准生命周期相同,如
created,mounted,updated,destroyed。
3. 路由与页面导航
UniApp 内置了路由功能,无需额外安装库。
- 跳转到新页面 (关闭当前页面):
uni.navigateTo({ url: '/pages/detail/detail?id=1&name=test' }); - 重定向页面 (关闭所有页面):
uni.redirectTo({ url: '/pages/home/home' }); - 返回上一页:
uni.navigateBack(); - 在
pages.json中注册页面和设置首页:{ "pages": [ { "path": "pages/index/index", "style": { "navigationBarTitleText": "首页" // 页面标题 } }, { "path": "pages/detail/detail", "style": { "navigationBarTitleText": "详情页" } } ] }
4. 组件
UniApp 提供了一套丰富的基础组件,如 <view>, <text>, <image>, <button>, <input> 等。这些组件在不同平台会被编译成对应的原生组件,体验更好。
5. API
UniApp 提供了大量的原生 API,以 uni. 开头,用于调用设备功能,如:
uni.request()- 网络请求uni.showToast()- 显示消息提示框uni.getLocation()- 获取地理位置uni.chooseImage()- 选择图片uni.login()- 登录uni.navigateTo()- 页面跳转
使用示例:
// 发起一个 GET 请求
uni.request({
url: 'https://www.example.com/api/data',
success: (res) => {
console.log(res.data);
},
fail: (err) => {
console.error(err);
}
});
// 显示提示
uni.showToast({
title: '操作成功!',
icon: 'success'
});
五、调试与运行
HBuilderX 提供了极其方便的调试方式:
- 运行到浏览器: 点击工具栏
运行->运行到浏览器->Chrome。会编译成 H5 项目并在浏览器中打开。 - 运行到小程序模拟器(以微信为例):
- 首先需要安装微信开发者工具。
- 在 HBuilderX 中点击
运行->运行到小程序模拟器->微信开发者工具。 - HBuilderX 会自动编译项目并启动微信开发者工具。
- 运行到手机或模拟器(App):
- 通过数据线连接手机并开启 USB 调试(Android)。
- 点击
运行->运行到手机或模拟器-> 选择你的设备。
六、发布
-
发布为 H5:
- 点击
发行->网站-H5手机版。 - 编译后的文件在
/unpackage/dist/build/h5目录下,将其部署到你的服务器即可。
- 点击
-
发布为微信小程序:
- 点击
发行->小程序-微信。 - 输入你的小程序 AppID。
- 编译完成后,会生成一个
/unpackage/dist/dev/mp-weixin目录。 - 用微信开发者工具打开这个目录,然后点击上传即可。
- 点击
-
发布为 App (Android/iOS):
- 这是一个更复杂的过程,需要配置
manifest.json文件(应用图标、启动图、模块权限等)。 - 云打包: 点击
发行->原生App-云打包。DCloud 服务器会帮你完成打包,你直接下载安装包即可。(推荐新手) - 本地打包: 需要配置 AndroidStudio / Xcode 环境,过程较复杂。
- 这是一个更复杂的过程,需要配置
七、学习路径与资源推荐
-
官方文档 (最重要!): https://uniapp.dcloud.net.cn/
- 遇到任何问题,第一反应就是查文档。
-
实践项目:
- 新手练习: 做一个 TodoList(待办事项列表)、新闻列表页(调用一个公开 API 获取数据并展示)。
- 进阶项目: 模仿一个完整的小程序,如简易商城、博客应用、天气应用等。
-
社区与插件市场:
- DCloud 插件市场: https://ext.dcloud.net.cn/ - 寻找现成的轮子,节省开发时间。
- 遇到问题: 优先在官方文档和论坛中搜索,90% 的问题都能找到答案。
总结
UniApp 的核心思路是 “Vue 的语法 + 小件的标签 + 跨端的 API”。只要你掌握了 Vue.js 的基础,再对照官方文档熟悉一下它的组件和 API,就能很快地开发出跨平台应用。从一个小项目开始动手实践是最好的学习方式。
更多推荐

所有评论(0)