当前位置:首页 > uni-app

uniapp教学笔记

2026-03-05 04:52:08uni-app

基础环境搭建

确保安装最新版HBuilderX,这是官方推荐的开发工具,内置uniapp项目模板。创建项目时选择uni-app类型,根据需求选择默认模板或自定义模板。

Node.js版本需保持在12.0以上,用于依赖管理。配置微信开发者工具路径,以便真机调试时调用微信小程序模拟器。

目录结构解析

项目根目录包含pages存放页面组件,static放置静态资源,components为公用组件。manifest.json配置应用名称、图标等基本信息,pages.json定义路由与页面样式。

注意静态资源路径需使用绝对路径/static/logo.png,组件引入需通过@components别名。

页面开发规范

每个页面由.vue文件构成,包含templatescriptstyle三部分。使用Vue语法但需注意平台差异,例如小程序不支持部分HTML标签。

路由跳转使用uni.navigateTo,传参通过URL拼接,接收参数使用onLoad生命周期函数的参数对象。页面样式建议采用flex布局,适配多端显示。

uniapp教学笔记

跨端兼容处理

通过条件编译实现多端差异代码:

// #ifdef MP-WEIXIN
wx.login()
// #endif
// #ifdef H5
location.href
// #endif

使用uni.getSystemInfo获取设备信息,动态调整布局。公共组件开发时需测试各端表现,建议使用scss变量管理平台专属样式。

数据请求封装

推荐使用uni.request封装全局请求方法:

uniapp教学笔记

const request = (url, method = 'GET') => {
  return new Promise((resolve) => {
    uni.request({
      url: 'https://api.example.com' + url,
      method,
      success: (res) => resolve(res.data)
    })
  })
}

配置请求拦截器处理Token自动添加,响应拦截器统一处理错误码。注意小程序端需配置合法域名,H5端解决跨域问题。

状态管理方案

简单场景可使用全局变量:

// main.js
Vue.prototype.$store = {
  userInfo: {}
}

复杂项目建议引入vuex,按模块划分状态。持久化存储使用uni.setStorageSync,注意小程序端同步存储有容量限制。

发布打包流程

H5版本通过发行->网站-H5手机版生成,需配置部署路径。小程序版本需在开发者工具中导入unpackage/dist/dev/mp-weixin目录。

App打包需配置证书与签名,通过原生平台云打包或本地打包生成安装包。各平台发布前需仔细检查权限配置与隐私政策。

标签: 笔记uniapp
分享给朋友:

相关文章

uniapp 画板

uniapp 画板

uniapp 实现画板功能的方法 在 uniapp 中实现画板功能,可以通过 canvas 组件结合触摸事件来完成。以下是一个基本的实现方案: 基本画板实现 在 template 中添加 canva…

uniapp图文

uniapp图文

图文混排实现方式 在uniapp中实现图文混排通常采用<rich-text>组件或自定义样式布局。<rich-text>支持解析HTML字符串,适合动态内容渲染。 <te…

uniapp 线程

uniapp 线程

uniapp 线程的概念 在 uniapp 中,线程的概念与原生应用开发有所不同。由于 uniapp 是基于 JavaScript 的运行环境,它并不直接支持多线程操作。JavaScript 本身是单…

uniapp真垃圾

uniapp真垃圾

关于对UniApp的评价,存在不同的声音。以下从技术特性、适用场景及常见争议点展开分析,供开发者参考: 技术特性与优势 UniApp基于Vue.js框架,支持多端编译(微信小程序、H5、App等)…

uniapp显示不全

uniapp显示不全

uniapp显示不全的常见原因及解决方法 页面布局问题 检查页面布局是否超出屏幕范围,确保根元素或外层容器设置正确的宽度和高度。使用flex布局或百分比单位适应不同屏幕尺寸。 滚动区域未设置 在需要…

uniapp图形绘制

uniapp图形绘制

Uniapp 图形绘制方法 Uniapp 提供了多种图形绘制的方式,适用于不同场景需求。以下是常见的实现方法: Canvas 绘制 Uniapp 支持使用 HTML5 Canvas API 进行图…