一、环境搭建(实战起点)
-
开发工具
- HBuilderX(官方IDE) + 微信开发者工具(调试必备)
# 全局安装CLI(可选) npm install -g @dcloudio/uni-cli -
项目初始化
uni-app init -t 默认模板 # 创建基础项目
二、核心开发技能(项目关键)
1. Vue3语法强化
<script setup>
// 组合式API实战
import { ref, onMounted } from 'vue'
const count = ref(0)
onMounted(() => console.log('组件挂载'))
</script>
2. 跨端适配方案
// 条件编译(不同平台执行不同代码)
// #ifdef H5
console.log('网页端特有逻辑')
// #endif
// #ifdef MP-WEIXIN
console.log('微信小程序逻辑')
// #endif
3. 路由管理(实战高频)
// 页面跳转传参
uni.navigateTo({
url: '/pages/detail?id=123'
})
// 接收参数(目标页)
onLoad(options) {
console.log(options.id) // 123
}
4. 状态管理(复杂项目必备)
// 使用Pinia(推荐)
// store/user.js
export const useUserStore = defineStore('user', {
state: () => ({ token: '' }),
actions: {
login() {
this.token = '模拟token'
}
}
})
// 页面调用
import { useUserStore } from '@/store/user'
const store = useUserStore()
store.login()
三、设备交互(真实项目刚需)
1. 调用原生能力
// 获取地理位置
uni.getLocation({
type: 'wgs84',
success: (res) => {
console.log(`纬度:${res.latitude}, 经度:${res.longitude}`)
}
})
2. 文件操作
// 上传图片实战
uni.chooseImage({
count: 3,
success: (res) => {
uni.uploadFile({
url: 'https://api.example.com/upload',
filePath: res.tempFilePaths[0],
name: 'file'
})
}
})
四、性能优化(上线前必做)
-
分包加载(解决小程序体积限制)
// pages.json { "subPackages": [{ "root": "subpackage", "pages": [{ "path": "moduleA", "style": { ... } }] }] } -
图片压缩方案
// 使用image-tools(npm包) import { compress } from 'image-tools' compress(localFilePath, { quality: 0.7 })
五、调试与发布(项目交付)
-
多端调试技巧
- 微信小程序:真机预览+调试器WXML面板
- H5端:Chrome性能分析工具
-
自动化部署
# 微信小程序打包命令 uni build --platform mp-weixin --watch
六、进阶实战能力
| 领域 | 关键技术点 | 推荐解决方案 |
|---|---|---|
| 跨端组件库 | 多平台UI兼容 | uViewUI |
| 原生插件 | Android/iOS功能扩展 | UniPlugin |
| 灰度发布 | 分批次更新控制 | uni-push热更新 |
| 埋点统计 | 用户行为追踪 | 接入友盟+SDK |
七、避坑指南(血泪经验)
-
样式兼容问题
/* 解决H5端滚动穿透 */ body { overflow: hidden !important } -
小程序真机差异
- 使用
uni.$emit/uni.$on代替window事件总线 - 避免使用
v-html(小程序不支持)
- 使用
实际项目开发建议:从微信小程序+H5双端起步,掌握80%通用场景后再扩展App端。优先使用uni-ui组件库(https://uniapp.dcloud.net.cn/component/uniui/uni-ui.html)可节省30%开发时间。
2385

被折叠的 条评论
为什么被折叠?



