小兔鲜儿 - 项目打包
微信小程序端
把当前 uni-app 项目打包成微信小程序端,并发布上线。
核心步骤
- 运行打包命令
pnpm build:mp-weixin - 预览和测试,微信开发者工具导入生成的
/dist/build/mp-weixin目录 - 在微信开发者工具上传小程序代码(修改补丁)
- 在微信公众平台(版本管理)提交审核和发布

步骤图示
项目打包上线需要使用到多个工具,注意工具之间的职责。
VSCode/WebStorm ----> 微信开发者工具 ----> 微信公众平台
了解:开发者也可独立使用 miniprogram-ci 进行小程序代码的上传等操作。
打包成其他小程序端的步骤类似,只是更换了 打包命令 和 开发者工具 。
条件编译
Q:按照 uni-app 规范开发可保证多平台兼容,但每个平台有自己的一些特性,该如何处理?
A:通过 条件编译,让代码按条件编译到指定平台。

网页端不支持微信平台授权登录等功能,可通过 条件编译,实现不同端渲染不同的登录界面。
条件编译语法
通过特殊注释,以 #ifdef 或 #ifndef 加 平台名称 开头,以 #endif 结尾。
多平台编译:#ifdef H5 || MP-WEIXIN 表示在 H5 端 或 微信小程序端 代码。
条件编译支持: 支持 .vue, .ts, .js, .scss, .css, pages.json 等文件。
<script setup lang="ts">
// 微信平台特有API,需要条件编译
// #ifdef MP-WEIXIN
wx.login()
wx.requestPayment()
// #endif
</script>
<template>
<!-- 微信开发能力按钮,需要条件编译 -->
<!-- #ifdef MP-WEIXIN -->
<button open-type="openSetting">授权管理</button>
<button open-type="feedback">问题反馈</button>
<button open-type="contact">联系我们</button>
<!-- #endif -->
</template>
<style>
/* 如果出现样式兼容,也可添加条件编译 */
page {
/* #ifdef H5 */
background-color: pink;
/* #endif */
}
</style>
可通过搜索 wx. 和 open-type 等平台关键词,快速查找需要小程序端需添加编译模式的代码。
打包为 H5 端
把当前 uni-app 项目打包成网页(H5)端,并配置路由基础路径。
核心步骤
- 运行打包命令
pnpm build:h5 - 预览和测试,使用浏览器打开
/dist/build/h5目录下的index.html文件 - 由运维部署到服务器
路由基础路径
默认的路由基础路径为 / 根路径,部分网站并不是部署到根路径,需要按运维要求调整。
// manifest.json
{
/* 网页端特有配置 */
"h5": {
"router": {
// 基础路径:./ 为相对路径
"base": "./"
}
} /* 小程序特有相关 */,
"mp-weixin": {
// …省略
},
"vueVersion": "3"
}
打包为 APP 端
预览调试
App 端 的打包,预览、测试、发行,使用 HBuilderX 工具。


手机开启开发者模式,我这里以 红米 K50 为例:
- 设置里面搜 版本,选择 MIUI 版本
- 然后多次点击 MIUI 版本,知道出现提示 您已处于开发者模式,无需进行此操作 为止
- 然后回到设置中的搜索框,搜索 开发者 ,开启 开发者选项、 USB 调试 和 USB 安装即可

到此,可以正常在 APP 端进行编译调试。
在调试时可能出现版本不匹配的问题:

我们需要更新依赖到指定版本:uni-app官网 (dcloud.net.cn)
更新到正式版指定版本
npx @dcloudio/uvm@latest 3.8.12
云打包

使用云端证书:
使用云端证书,点击详情



证书创建完成之后,无需下载,就可以直接使用了。
之后在云打包的配置中,选择正式打包,下面的广告联盟全部不勾选,再选择快速安心打包,最后点击打包。

打包完成之后在文件夹中打开,得到一个 apk 文件,就是APP 的安装包,可以点击右键安装到手机,也可以直接把安装包供别人下载。
ios 端打包类似,只不过需要换到 mac 电脑,而且最好使用模拟器等方便操作,因为 hbuilder 打包后 ios 官方会有限制。

1723

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



