Minidev - 支付宝小程序开发 Cli
支付宝小程序开发 cli(minidev) 提供了常用的支付宝系小程序开发指令,能够方便地在各类平台上快速进行小程序的开发、预览、上传等操作。
基本使用
安装
npm i -g minidev
工具授权 (真机预览和真机调试都需要)
工具首次使用时,建议通过 login 指令完成对工具的授权
授权过程需要联网,使用支付宝扫描出现在终端中的二维码即可完成授权
minidev login
真机预览
运行指令以进行真机预览, 需要提供小程序 Appid
# 进入小程序项目
cd /path/to/yourProject
# 运行真机预览指令
minidev preview -a {yourAppId}
指令运行后,默认会直接推送到手机支付宝进行预览
如果没有自动推送,指令也会在命令行打印二维码,可以通过扫描二维码进行真机预览
preview 指令支持的参数
Usage: minidev preview [options]
发起真机预览
Options:
-s, --skip-build [可选] 跳过构建过程
--auto-push [可选] 自动推送到客户端, 默认打开, 使用 --no-auto-push 来关闭 (default: true)
--ignore-http-domain-check [可选] 忽略 http 请求白名单校验
--ignore-webview-domain-check [可选] 忽略 webview 加载域名白名单校验
-a, -appid <appId> [必填] 小程序应用 id
--bundle-id <bundleId> [可选] <高级> 开放平台 bundleId, 此项会覆盖 clientType 的效果
-c, --client-type <clientType> [可选] 端类型 (choices: "alipay", "ampe", "amap", "genie", "alios", "alipayiot", "uc",
"quark", "health", "koubei", "taobao", "cainiao", "alihealth", "OTT_CIBN", "OTT_TAITAN")
--page <page> [可选] 入口页面
--page-query <page> [可选] 页面参数, 可在当前页面的 onLoad 中取得,如: name=vendor&color=black
--query <page> [可选] 全局参数,app.js 的 onLaunch 中取得,如: name=vendor&color=black
--scene <page> [可选] 进入场景值
--simulate-update [可选] 模拟更新
--ampe-device-id <ampeDeviceId> [可选] [AMPE] 设备 ID
--ampe-host-app-id <ampeHostAppId> [可选] [AMPE] 产品 ID
--ampe-product-id <ampeProductId> [可选] [AMPE] 移动应用 ID
--appxv <appxv> [可选] [构建]构建类别,可选值为 v1, v2, legacy-v1 (choices: "v1", "v2", "legacy-v1")
--cacheDir <cacheDir> [可选] [构建]指定构建缓存路径, 默认为系统缓存路径
--less [可选] [构建]启用 less 编译
--typescript [可选] [构建]启用 typescript 编译
--minify [可选] [构建]是否需要压缩,默认不开
-o, --output <output> [可选] [构建]产物路径
--parallel [parallel] [可选] [构建]多进程编译
--pluginId <pluginId> [可选] [构建]插件 Id,构建插件时将生成到代码中
--source-map [可选] [构建]是否产出 sourceMap
-p, --project <project> [可选] [构建]目标项目, 默认为当前工作目录
--machine-output [可选] [构建]机器可读输出(只显示最终结果)
真机调试
运行指令以进行真机调试, 需要提供小程序 Appid
# 进入小程序项目
cd /path/to/yourProject
# 运行真机调试指令
minidev remote-debug -a {yourAppId}
指令运行后,默认会直接推送到手机支付宝进行真机调试
如果没有自动推送,指令也会在命令行打印二维码,可以通过扫描二维码的方式来继续
真机调试指令会在命令行打印真机预览调试器的本地服务地址,请使用本机浏览器打开对应网址进行调试
支持的参数
Usage: minidev remote-debug [options]
发起真机调试
Options:
--auto-push [可选] 自动推送到客户端, 默认打开, 使用 --no-auto-push 来关闭 (default: true)
--ignore-http-domain-check [可选] 忽略 http 请求白名单校验
--ignore-webview-domain-check [可选] 忽略 webview 加载域名白名单校验
-a, -appid <appId> [必填] 小程序应用 id
--bundle-id <bundleId> [可选] <高级> 开放平台 bundleId, 此项会覆盖 clientType 的效果
-c, --client-type <clientType> [可选] 端类型 (choices: "alipay", "ampe", "amap", "genie", "alios", "alipayiot", "uc",
"quark", "health", "koubei", "taobao", "cainiao", "alihealth", "OTT_CIBN", "OTT_TAITAN")
--page <page> [可选] 入口页面
--page-query <page> [可选] 页面参数, 可在当前页面的 onLoad 中取得,如: name=vendor&color=black
--query <page> [可选] 全局参数,app.js 的 onLaunch 中取得,如: name=vendor&color=black
--scene <page> [可选] 进入场景值
--simulate-update [可选] 模拟更新
--ampe-device-id <ampeDeviceId> [可选] [AMPE] 设备 ID
--ampe-host-app-id <ampeHostAppId> [可选] [AMPE] 产品 ID
--ampe-product-id <ampeProductId> [可选] [AMPE] 移动应用 ID
--appxv <appxv> [可选] [构建]构建类别,可选值为 v1, v2, legacy-v1 (choices: "v1", "v2", "legacy-v1")
--cacheDir <cacheDir> [可选] [构建]指定构建缓存路径, 默认为系统缓存路径
--less [可选] [构建]启用 less 编译
--typescript [可选] [构建]启用 typescript 编译
--minify [可选] [构建]是否需要压缩,默认不开
-o, --output <output> [可选] [构建]产物路径
--parallel [parallel] [可选] [构建]多进程编译
--pluginId <pluginId> [可选] [构建]插件 Id,构建插件时将生成到代码中
--source-map [可选] [构建]是否产出 sourceMap
-p, --project <project> [可选] [构建]目标项目, 默认为当前工作目录
--machine-output [可选] [构建]机器可读输出(只显示最终结果)
上传小程序
运行指令以进行小程序上传
# 进入小程序项目
cd /path/to/yourProject
# 运行上传指令
minidev upload -a {yourAppId}
如果需要上传完成后直接设置为体验版, 可以在运行时添加 --experience
参数
支持的参数
Usage: minidev upload [options]
上传发布小程序
Options:
-e, --experience [可选] 上传成功后,自动设置为体验版本 (需要对应权限)
-v, --version [version] [可选] 上传包版本
-p, --project <project> [可选] 目标项目, 默认为当前工作目录
-a, -appid <appId> [必填] 小程序应用 id
--bundle-id <bundleId> [可选] <高级> 开放平台 bundleId, 此项会覆盖 clientType 的效果
-c, --client-type <clientType> [可选] 端类型 (choices: "alipay", "ampe", "amap", "genie", "alios", "alipayiot", "uc",
"quark", "health", "koubei", "taobao", "cainiao", "alihealth", "OTT_CIBN", "OTT_TAITAN")
--machine-output [可选] 机器可读输出(只显示最终结果)
启动 devServer
启动 devServer 以在启动开发模式,生成的小程序会响应小程序代码的实时变化
cd /path/to/yourProject
minidev dev
devServer 启动之后,可以继续键入指令来利用 devServer 的产物进行进一步操作
可以继续执行以下命令 (可以通过 指令名 -h 来查看参数)
- preview : 使用模拟器产物发起真机预览 (此模式仅整包, 无法验证分包可用性)
- remote-debug : 使用模拟器产物发起真机调试 (此模式仅整包)
- ide : 启动小程序开发者工具模拟器进行调试
Node JS API 调用
除了 cli 的使用方式外, minidev 也提供了 js api 的调用方式, 上述对应的指令都能找到相应的 js api 调用方式。
示例:
const { minidev } = require('minidev');
minidev.preview({
appId:'2021xxxxxxxxx9999',
project: 'path/to/project'
}).then(({qrcodeUrl}) => {
console.log(qrcodeUrl);
});
问题反馈
如果您在使用过程中产生任何疑问,或者有任何建议,可以前往支付宝开发者社区 (https://forum.alipay.com/mini-app) 进行提问,或者通过官方钉钉群来联系我们。