uniapp和原生小程序运行打包详解

主要介绍了原生微信小程序项目打包发布的流程,以及uniapp项目打包成H5和小程序的步骤,和项目开发的注意点等

1. 原生小程序

1.1 项目结构

微信页面的主要结构是:xx.jsxx.jsonxx.wxmlxx.wxss

具体结构及配置可以查看官网小程序配置-全局配置

1.2 导入项目

需要维护旧项目时,需要导入项目,操作流程如下所示:

项目->导入项目->选择项目文件目录

注意:AppID 要填你自己的,如果没有注册开发者,需要注册;如果不是该项目的开发者,需要管理员在后台把你加入进去

1.3 编译预览项目

前提:已经是该项目的开发者了

编译:点击后,可以在模拟器中查看效果,默认打开第一个页面

预览:可以生成二维码,通过手机微信扫码,查看效果

普通编译:默认时展示app.jsonpages数组的第一个页面

如果只想编译预览某个页面,可以"添加编译模式",自定义编译条件,打开指定页面

1.4 配置详情

可以修改调试基础库版本,针对不同的微信客户端版本去处理。

可以看到各个版本的百分比情况,一般选择百分比高的,比较大众的进行开发。然后其他版本有问题时,进行兼容性处理。

1.5 代码上传

点击"上传",可以提交代码。

默认会展示线上版本,新版本号会在之前基础上加一,你也可以自己调整。

1.6 版本发布

代码上传完成后,就可以登录开发者管理后台,在版本管理中,看到提交的版本了。

"开发版本"中,可以将提交的版本设置为体验版本

提交审核之后,进入"审核版本"

审核通过之后,进入"线上版本",线上版本可以进行"版本回退"

1.7 问题解决

  1. 创建项目时,导航栏不显示

导航栏:框架-小程序配置-全局配置-tabBar

新建的项目,默认渲染模式是 skyline,导致顶部导航栏没有显示。

需要显示顶部导航组件的话,调整 app.json 配置

json 复制代码
{
  // "renderer": "skyline", // 去除
  "window": {
    "navigationStyle": "default" // 设置为default
  }
}
  1. sass支持配置

sass 支持:工具-开发辅助-原生支持 TypeScript

配置 useCompilerPlugins 参数

json 复制代码
// project.config.json
{
  "setting": {
    "useCompilerPlugins": ["sass"]
  }
}

2. uniapp

2.1 项目结构

目录结构如下所示:具体功能和配置可以查看官网全局文件

2.2 导入项目

我一般是从本地目录导入项目

具体操作为:文件->导入->从本地目录导入->选择项目文件夹

2.3 打包成 H5

(1)首先进行 H5 的打包配置,在 manifest.json 中进行配置,HBuilder 打开该文件,会展示可视化界面,方便配置。具体可查看文档manifest.json 应用配置之 H5

(2)开发预览:运行->运行到浏览器->Chrome->到对应地址打开

(3)打包预览:发行->网站-PC Web 或手机 H5(仅适用于 uni-app)

打包后的目录结构如下,打包文件在 unpackage/dist/build/h5 目录下,可以直接本地打开 index.html 文件查看;也可以部署到服务器,进行预览

2.4 打包成小程序

如图所示,按如下操作执行:发行->小程序-微信(仅适用于 uni-app)。

打包后,项目文件在 unpackage/dist/build/mp-weixin 下,用微信小程序打开该目录即可。

注意一:小程序中,进行接口调用时,需要先配置合法域名。配置后,可以在详情->项目配置中查看到

注意二:本地调试时,没有配置合法域名时,可以先不校验:详情->本地配置->不校验合法域名

注意三:appid 不对应,不为对应的开发者时,会报错:

此应用 Dcloud_appid 为 xxx,您不是这个应用的项目成员。1. 联系这个应用的所有者,请求加入项目成员(dev.dcloud.net.cn "成员管理"-"添加项目成员"); 2. 重新在 manifest.json 中生成自己的 APPID;3. 联系应用所有者将此 Dcloud appid 转让给当前账号

相关推荐
曈欣21 分钟前
vue 中属性值上变量和字符串怎么拼接
前端·javascript·vue.js
计算机学姐30 分钟前
基于SpringBoot+Vue的宠物医院管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
customer081 小时前
【开源免费】基于SpringBoot+Vue.JS教师工作量管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
缘月叙文1 小时前
vue2项目实现国际化(若依框架示例)
vue.js
QGC二次开发1 小时前
Vue3:v-model实现组件通信
前端·javascript·vue.js·前端框架·vue·html
Bunury2 小时前
Vue3新组件transition(动画过渡)
前端·javascript·vue.js
破z晓3 小时前
uniapp 整合 OpenLayer3
uni-app
AvatarGiser3 小时前
《ElementUI/Plus 踩坑》el-table + sortablejs 拖拽顺序错乱(Vue2/3适用)
前端·vue.js·elementui
applebomb3 小时前
UniApp一句话经验: px -> rpx动态转换和动态元素区域的获取
javascript·typescript·uni-app·rpx·动态区域
louqle3 小时前
vue2:树形控件el-tree中加载两种不同结构的数据
javascript·vue.js·elementui