CLI 发行uni-app到微信小程序,如何不打开微信开发者工具去进行小程序发布?

2023-11-12

前言:

        小程,赶紧把这个UI这里改一下,改完赶紧推个版本,等着测试;哎小程,这个需求客户需要这样改一下,你赶紧改一下推个版本客户等着看!!!

        上面这段话相信做开发的同僚或多或少每天都在听,可是小程序的版本发布流程并不像华为云、阿里云等其他云服务器,配置好以后可以直接通过 .sh 脚本双击更新,或者通过流水线Flow去点击运行;小程序需要点击发布->然后到微信开发者工具->然后(第一次使用的朋友建议打开uniapp开发微信小程序,从构建到上线  ,这个是属于比较基础的文章).......,总而言之,发布流程很复杂

         那么微信小程序不可以像其他云服务器一样拥有简单的发布流程吗?

        当然可以,今天我们演示 uniapp 的 cli 工具如何无需打开微信开发者工具去发布微信小程序;这里有一个注意点Hbuildx 的版本需要3.1.5+版本,如果版本过低的朋友请先更新版本; 

目录

言归正传,正文开始 

一、CLI 概述

1. cli 程序

2. Hbuildx 的 cli

3. cli 基础命令

    查看帮助文档

    查看 cli 版本号

    启动/关闭 Hbuildx

    更多命令行

二、CLI 全局变量配置

 1. Windows 配置全局环境变量

      ① 复制HBuilderX安装目录路径(即HBuilderX.exe程序所在位置的上级目录)

 ②右键 This PC(此电脑) -> Properties(属性) -> Advanced system settings(高级系统设置) -> Environment Variables(环境变量)

  ③【用户变量】,点击【编辑】,找到path,输入HBuilderX路径。

 ④校验一下是否配置成功

 2. MacOSX 配置全局环境变量 

     ① 方法一:添加环境变量

     ②方法二:创建别名

     ③方法三:创建软连接

三、CLI 发行uniapp-微信小程序

1. cli 命令语法

2. 如何获取微信小程序代码上传密钥?

3. 使用 cli 工具发布微信小程序 

四、CLI 上传过程中的失败情况

   1.  Error: {"errCode":-10008}   


 


言归正传,正文开始 


 

一、CLI 概述

HBuilderX cli命令行工具, 仅适用于HBuilderX 3.1.5+版本

1. cli 程序

    先科普一下 cli 是什么? CLI(command-line interface,命令行界面)可在用户提示符下键入可执行指令的界面。CLI是Command Line Interface的缩写,即命令行界面。

看文字大家是不是有点懵,那看下图是不是瞬间醒悟?没错就是这个!

 

2. Hbuildx 的 cli

为什么要说是 Hbuildx 的 cli 呢?

        因为当前的 cli 只能为我们的 Hbuildx 去服务的!开发者可以通过cli命令行指示HBuilderX进行启动、打包、登录等操作。

命令行工具所在位置:

  • Windows: HBuilderX安装目录根目录, cli.exe
  • MacOSX
    • 正式版 /Applications/HBuilderX.app/Contents/MacOS/cli
    • Alpha版 /Applications/HBuilderX-Alpha.app/Contents/MacOS/cli

特别注意:本文所有命令示例,均以cli代替cli.exe,请根据不同操作系统,实际应用。

今天主要演示 Windows 大家可以看下图,大家可以看到一下 cli.exe的文件,或者清空路径输入 cmd,打开黑窗口,这个就是当前为我们 Hbuildx 服务的CLI所在位置!

 

3. cli 基础命令

通过上一步的介绍,我们已经找到 Hbuildx 的cli工具了,那么我们可以通过 cli 去做一下基本的操作;如果不是通过我第二步打开的朋友,在全局是找不到当前 Hbuildx 的cli 的,后边我会带着大家配置全局的环境变量;

    查看帮助文档

        查看帮助文档,需要先启动Hbuildx;不然就会出现下图的问题

cli --help  // 查看帮助文档
cli help // 查看帮助文档

 

    查看 cli 版本号

 

cli ver

  

    启动/关闭 Hbuildx

 

# 启动HBuilderX程序
cli open

# 关闭HBuilderX程序
cli app quit

 

    更多命令行

cli命令 详情
用户账号操作,登录、退出等 详情
文件操作,打开文件并跳转指定行列 详情
项目操作,导入、关闭项目 详情
app打包 详情
uniCLoud操作,比如云函数上传等 详情
uniCloud 前端网页托管 详情

 

 

二、CLI 全局变量配置

通过上面的步骤我们已经可以成功启动当前 Hbuildx 安装目录下的 cli 工具了;

但是我们全局的 CMD 还是找不到我们的 cli工具,这种情况就需要在全局的环境变量里面配置了

 1. Windows 配置全局环境变量

      ① 复制HBuilderX安装目录路径(即HBuilderX.exe程序所在位置的上级目录)

 

 ②右键 This PC(此电脑) -> Properties(属性) -> Advanced system settings(高级系统设置) -> Environment Variables(环境变量)

  ③【用户变量】,点击【编辑】,找到path,输入HBuilderX路径。

 

 点击新建,把刚才第一步复制的路径 Copy 进来

 

 ④校验一下是否配置成功

【 Window + R 】 输入 cmd 打开命令行窗口

#查看当前配置是否成功

输入 cli ver 

 

 2. MacOSX 配置全局环境变量 

     ① 方法一:添加环境变量

          警告: 修改环境变量时,请慎重 仔细,如果没有经验,不建议修改环境变量。

如果您的shell是bash,进入终端,编辑环境变量文件~/.bash_profile, 输入如下内容

如果您的shell是zsh,进入终端,编辑环境变量文件~/.zprofile,输入如下内容 

export HX_HOME=/Applications/HBuilderX.app/Contents/MacOS/
export PATH=$HX_HOME:$PATH:.

 

     ②方法二:创建别名

        打开终端,根据shell类型,执行如下命令:

# shell类型:bash
echo "alias cli='/Applications/HBuilderX.app/Contents/MacOS/cli'" >> ~/.bashrc && source ~/.bashrc

# shell类型:zsh
echo "alias cli='/Applications/HBuilderX.app/Contents/MacOS/cli'" >> ~/.zshrc && source ~/.zshrc

 

     ③方法三:创建软连接

        打开终端,执行如下命令:

ln -s /Applications/HBuilderX.app/Contents/MacOS/cli /usr/local/bin/cli

 

三、CLI 发行uniapp-微信小程序

经过上面的了解、学习我们已经成功的通过全局的 【 cmd 】启动了cli工具,下面我们就一起看看 cli发布微信小程序的语法;

1. cli 命令语法

# 仅编译uni-app项目到微信小程序,不发行
cli publish --platform mp-weixin --project 项目名称

# 编译uni-app项目到微信小程序,并发行小程序到微信平台
cli publish --platform mp-weixin --project 项目名称 --upload true --appid 小程序appid --description 发布描述 --version 发布版本 --privatekey 小程序上传密钥文件
参数 说明
--platform 必填,发行平台(MP-WEIXIN)
--project 必填,项目名称
--appid 必填,微信小程序appid
--subPackage 发行为混合包, 示例:--subPackage xxx
--upload 打包后是否上传到微信平台,只有值为true时生效
--description 上传的小程序描述
--privatekey 微信代码上传密钥文件 详情
--version 上传小程序的版本号;选填。如果不填写,则会读取manifest.json中的版本号

2. 如何获取微信小程序代码上传密钥?

打开微信公众平台 官网, 扫码登录,左侧菜单【开发 -> 开发管理】,点击tab【开发设置】,如下图:

 

3. 使用 cli 工具发布微信小程序 

  打开 cmd 命令行窗口,然后把我们准备好的材料,以及下载好的 【上传密钥】准备好。

 回车,然后稍等片刻( 还有一个步骤,Hbuildx 需要下载一个插件哦~~~ )

 插件下载、安装好以后我们再重复一下刚才输入材料的步骤

 

 


看上图,经过我们的一系列操作已经成功上传了!!!

如果上传中间出现失败,请查看 【四、上传过程中的失败情况】


 

四、CLI 上传过程中的失败情况

   1.  Error: {"errCode":-10008}   

  解决方案:【打开微信公众平台--扫码登录】--> 【开发管理】--> 【小程序代码上传】-- > 【配置IP白名单】

 如下图,即可解决!


结语:

        两种方式对我们而言都有利有弊,主要看大家取舍,采用那种方式!不过随着技术的不断进步,我们做开发也越来越方便,方便的同时也要记得勤学习,毕竟“书山有路勤为径,学海无涯苦作舟”!!!

        加油,各位路过的 IT 人!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CLI 发行uni-app到微信小程序,如何不打开微信开发者工具去进行小程序发布? 的相关文章

  • Fiddler工具 — 9.命令行和状态栏

    1 命令行 命令行在Fiddler的左下方的黑色窗口 也叫 QuickExec 可以调用 Fiddler的内置命令 这一系列内置的函数用于筛选和操作会话列表中的session 会话 虽然它不是很显眼 但用好它 会让你的工作效率提高 N 倍
  • React安装依赖 node_modules中有下载依赖项但package.json文件中没有依赖

    React安装依赖 node modules中有下载依赖项但package json文件中没有依赖 直接在下载依赖项后 加 S 就可以解决 随机 id 生成器 uuid nanoid npm install nanoid S S save
  • CMAKE_MAKE_PROGRAM is not set 解读

    目录 CMAKE MAKE PROGRAM 未设置 错误原因 解决方案 示例1 GNU Make 示例2 Ninja CMakeLists txt 的结构 示例 CMakeLists txt 文件 总结 CMAKE MAKE PROGRAM
  • JS特效第74弹:旅游城市图片百叶窗切换React特效

    全屏的旅游城市景点图片滑动百叶窗轮播切换效果 先来看看效果 一部分关键的代码如下 div div
  • ECMAScript简介及特性介绍

    ECMAScript 简称ES 是JavaScript的规范 同时也是被广泛采用和实现的脚本语言标准 从最初的1996年推出第一版至今 ECMAScript已经经历了数十年的发展和改进 成为了互联网开发中的重要基石之一 本文将对ECMASc
  • ❤ Vue3 使用

    Vue3 使用 Vue3之toRefs的使用 作用 toRefs 可以将一个响应式的对象 转换成普通对象 但是转换后的普通对象的每一个属性值都是响应式的 这样我们可以使用es6的对象解构或者三点运算符等操作 代码
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • 微信怎么申请小程序商城?一步步教你完成

    随着移动互联网的发展 越来越多的企业和个人开始关注微信小程序 微信小程序是一种不需要下载安装即可使用的应用 它实现了应用 触手可及 的梦想 用户扫一扫或者搜一下就能打开应用 其中 小程序商城因其便捷性和实用性 受到了众多商家的青睐 那么 如
  • 每天10个前端小知识 <Day 7>

    前端面试基础知识题 1 什么是尾调用优化和尾递归 尾调用的概念非常简单 一句话就能说清楚 就是指某个函数的最后一步是调用另一个函数 function f x return g x 上面代码中 函数f的最后一步是调用函数g 这就叫尾调用 尾调
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 【计算机毕业设计】毕业生就业管理微信小程序_lm9q0

    腾讯公司在2017年1月19日发布了一款不需要下载 不需要卸载 不需要存储的软件叫微信小程序 受到了很多人的喜欢 微信小程序自2017年发布至今 依托微信的社交属性和庞大的用户基数 已经渗透到生活的方方面面 1 微信小程序可以将基于微信平台
  • HTML概述、基本语法(表格整理、标签、基本结构)

    一 HTML概述 HTML指的是超文本标记语言 超文本 是指页面内可以包含图片 链接 声音 视频等内容 标记 标签 通过标记符号来告诉浏览器页面该如何显示 我们可以打开浏览器 右击页面 点击 查看网页源代码 来方便了解HTML标签通过浏览器
  • 点击存储到固定时间清除存储

    这段代码 无意间想到的 随便写了下来 运行 根据点击之后传递一个参数 将他存入本地存储 方便测试为10秒 10秒后触发下一个事件 清除本地存储 结束
  • 低代码-详情页组件设计

    效果图 详情页数据结构定义 layout 按钮数据 buttonLayout headButton 页头按钮 footButton 页脚按钮 详情页表单配置 config 配置组件列表 detailLayout 默认行为 进表单初始化 只展
  • 【计算机选题推荐】校园兼职小程序的设计与实现

    精彩专栏推荐订阅 在下方主页 作者主页 计算机毕设木哥 文章目录 一 项目介绍 二 开发环境 三 系统展示 四 代码展示 五 项目总结 font color fe2c24 大家可以帮忙点赞 收藏 关注 评论啦 一 项目介绍 随着高等教育的普
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • 微信小程序|SSM微信小程序的学生选课系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 计算机Java项目|springboot校园台球厅人员与设备管理系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 每日变更的最佳实践

    在优维公司内部 我们采用发布单的方式进行每天的应用变更管理 这里给各位介绍优维的最佳实践 变更是需要多角色合作的 而且他是整体研发流程的一部分 在优维内部 我们坚持每日变更 打通开发环节到最终发布上线的全过程 在保证质量的前提下 尽可能提升
  • 如何在 Python 脚本中使用 Google OAuth2

    在使用 Python 脚本将视频上传到 YouTube 频道时 若希望将视频上传到第二个频道 需要解决 OAuth2 授权的问题 解决方案 创建新的 Google Cloud 项目 from google oauth2 import ser

随机推荐

  • Hive元数据存储和表数据存储

    一 相关概念 1 元数据 metadata 元数据 Meta Date 主要记录数据仓库中模型的定义 各层级间的映射关系 监控数据仓库的数据状态及 ETL 的任务运行状态 一般会通过元数据资料库 Metadata Repository 来统
  • 调试SAR SENSOR的一些感悟

    手机工作时是有电磁辐射的https zhuanlan zhihu com p 353591714 那怎样能降低电磁辐射对人体的伤害呢 sar sensor能感应到有人在使用手机 从而发消息让modem降低发射功率 从而达到标准 如果没人在使
  • Ubuntu 18 安装 cmake

    1 官网下载合适的版本 https cmake org download or cmake 3 19 4 tar gz https download csdn net download liyunlong19870123 15009838
  • 【转】转换思维,寻找创新点

    一种重要的科研思维 它就是发散思维 在科研的过程中 会用发散思维是特别特别重要的 很多时候在找课题的创新点 或者打算写小论文时 都需要好的想法来支撑 这就非常需要用发散思维去找好的想法和创新点啦 同样一件事情 同样一个问题 为什么他的角度这
  • K8S Pod配置详解(spec)

    Pod 是 Kubernetes 中最基本的资源对象之一 代表一组容器的单位 以下是几个重要的 Pod 字段的含义和用法 metadata 包含了 Pod 的元数据 例如名称 标签 命名空间等 spec 定义了 Pod 的行为和构建 例如容
  • Redis实现简单文章投票

    鉴于Redis被鹅厂一面二面问过的原因 还是要好好学习一下 Redis实战 第一章的例子 实现的功能 1 给文章投票 def article vote conn user article cutoff time time ONE WEEK
  • 10个自动化测试框架,测试工程师用起来

    什么是自动化测试框架 自动化测试框架是为自动化测试脚本提供执行环境的脚手架 框架为用户提供了各种优势 帮助他们有效地开发 执行和报告自动化测试脚本 它更像是一个专门为自动化组织的测试而创建的系统 简而言之 我们可以说框架是各种指导方针 编码
  • 数组名和指针变量的区别

    数组名和指针变量的区别 今天讲一下数组名和指针变量的区别 只说结果 不过分析 刚刚看到C语言中 有一个sizeof 数组名 和sizeof 指针变量 平时没有注意这两者的区别 在这里记下笔记 不喜勿喷 sizeof 数组名 是计算该数组所占
  • 南方日报:前有杜比,后有DTS,DVD专利费纷争何时休?

    那些所谓 收费太贵 只是一小部分厂商的借口 事实上使用我们产品的客户很多 但大多数没有合理付费 迪提斯 公司全球总裁兼首席执行官 庄柯奇 如是回答本报记者的发问 作为拥有全球最著名数码音频技术之一 几乎与杜比齐名的数码技术公司的掌门人 庄柯
  • python 十进制转十六进制 蓝桥

    试题 基础练习 十进制转十六进制 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式 它有0 1 2 3 4 5 6 7 8 9 A B C D E F共16个符号 分别表示十进制数的0至15 十六进制的计数方法是满16进1
  • JDBC连接MySQL数据库步骤

    JDBC全称 Java DataBase Connectivity 是Java数据库连接 是一种用于执行SQL语句的Java API 可以为多种关系数据库提供统一访问 例如 MySQL Oracle SQLServer等数据库 它由一组用J
  • Shell命令行选项与参数用法详解

    在bash中 可以用以下三种方式来处理命令行参数 直接处理 使用 1 2 n进行解析 适合小脚本 getopts 单个字符选项的情况 如 n 10 f file txt等选项 能处理绝大多数的情况 getopt 可以处理单个字符选项 也可以
  • mysql系列之一_MySQL学习系列之一---MySQL简介

    大家好 我是小詹小詹 是一名IT工程师 工作内容主要是ERP软件的二次开发和实施 以及数据库的运维 在这里可以分享一些数据库的基础操作以及工作过程中碰到实际问题的解决方案 整个系列会按照数据库内容分为三大块 分别是MySQL SQL ser
  • 电子学会 全国青少年软件编程等级考试标准 十级标准及相关资料

    本级会涉及但不限于随机算法 近似算法 神经网络算法 深度学习算法 强化学习算法 以及算法复杂性分析等更高级或新兴的算法设计及分析方法 随机算法 路径规划算法C 实现 二 A 路径规划算法C 实现 二 A weixin 44504228的博客
  • java sshd实现连接ssh操作

    文章目录 说明 分享 记录 导包 代码 总结 说明 本博客每周五更新一次 日常使用ssh连接工具是jsch实现 但该库从2018年开始停止更新 项目开发中使用免密登录功能时 因为ssh加密算法版本过低失败 最后不得不使用账号密码连接 那次后
  • 面试官问我MySQL索引失效怎么排查?懵逼了。。。

    前 言 上一期 我们讲解了sql优化的一般流程 不管是优化join语句 where语句 聚合函数还是排序操作 核心在于利用索引来优化sql语句 但是 大家以为我们为字段创建了索引之后 索引就一定会生效吗 当然不是的 因为索引可能会失效 那索
  • TensorFlow框架做深度学习之命令行参数操作

    想必在linux系统上做开发的小伙伴们对命令行这种东西是熟悉的不能再熟悉了 linux系统时时刻刻都要通过命令行实现各种操作 但是作为资深的windows用户 我是不太习惯用cmd命令控制台去操作应用的 回到今天的主题 为了使我们用Tens
  • Xamarin.Android DatePickerFragment 日期控件

    MainActivity 代码 public class MainActivity Activity TextView dateDisplay Button dateSelectButton protected override void
  • 服务器显示ipv4有两个ip地址,服务器显示ipv4有两个ip地址

    服务器显示ipv4有两个ip地址 内容精选 换一换 查询子网 您可以在API Explorer中直接运行调试该接口 GET v1 project id subnets subnet id 参数说明请参见表1 参数说明名称是否必选说明proj
  • CLI 发行uni-app到微信小程序,如何不打开微信开发者工具去进行小程序发布?

    前言 小程 赶紧把这个UI这里改一下 改完赶紧推个版本 等着测试 哎小程 这个需求客户需要这样改一下 你赶紧改一下推个版本客户等着看 上面这段话相信做开发的同僚或多或少每天都在听 可是小程序的版本发布流程并不像华为云 阿里云等其他云服务器