# 命令行调用

开发者工具提供了命令行工具与 HTTP 服务两种方式供外部调用,开发者可以通过命令行或 HTTP 请求指示工具进行登录、预览、上传等操作。

# 命令行工具说明

通过命令行调用安装完成的工具可执行文件,完成登录、打开、关闭、预览、上传等操作。

命令行工具所在位置:

  • macOS: 安装路径/Contents/MacOS/cli。(访达 -> 打开应用程序 -> 找到QQ小程序开发者工具.app -> 右键 -> 点击显示包内容 -> 依次打开文件夹Contents、MacOS)
  • Windows: 安装路径/cli.bat。(安装路径:安装开发者工具时选择的安装路径)

命令行工具使用方式:

  • 开启安全服务端口: 打开开发者工具 -> 打开 工具栏-设置 选项 -> 选择“安全”设置 -> 开启服务端口。服务端口开启后,下次打开开发者工具会自动打开安全服务端口。
  • 执行命令: 打开命令行工具所在目录,在终端或cmd窗口执行命令,如 打开开发者工具:cli -o。

tips:

  • 以下cli命令均需在 “mac安装路径/Contents/MacOS” 或 “windows安装路径” 目录下执行
  • 除了cli -o命令,其他命令均需在安全服务端口打开的情况下执行

# 可用命令

# 1 查看帮助

使用以下命令查看命令行工具帮助信息,可查看所有可用命令:

cli -h
cli --help
1
2

# 2 打开开发者工具或项目窗口

-o, --open [projectpath]: 打开开发者工具,如果不带 projectpath,只是打开工具。如果带 project path,则打开路径中的项目。projectpath 不能是相对路径。项目路径中必须含正确格式的 project.config.json 且其中有 appid 和 projectname 字段。

示例:

# 打开工具 #
cli -o
# 打开路径 /Users/username/demo 下的项目 #
cli -o /Users/username/demo
1
2
3
4

# 3 指定工具 HTTP 服务端口号

--port [number]: 该命令需配合其他命令使用,如果工具没有打开,则自动打开工具,工具将以给定端口号启动 HTTP 服务,如果工具已打开且端口不同于指定的端口号,将关闭之前的端口号并打开新的端口号。

示例:

cli --port 3000 -o
1

# 4 命令行登录

命令行提供两种登录方式:一是将登录二维码转成 base64 给用户,让用户自己集成到自己系统中使用;二是将二维码打印在命令行中。

-l, --login: 启动登录逻辑。

--login-qr-output [format[@path]]: 指定二维码输出形式,format 可选值包括 terminal(命令行输出), base64, image。如果有填 path,表示结果输出到指定路径的文件中。如果没填 path,表示将结果输出到命令行。不使用此选项或使用了但没有填 format 的话则默认为命令行打印。

--login-result-output [path]: 输出登录结果到指定文件

示例:

# 登录,在终端中打印登录二维码
cli -l
# 登录,在终端中打印登录 base64 形式的二维码
cli -l --login-qr-output base64
# 登录,二维码转成 base64 并存到文件 /Users/username/code.txt
cli -l --login-qr-output base64@/Users/username/code.txt
# 登录,并输出登录结果到文件 /Users/username/result.json
cli -l --login-result-output /Users/username/result.json
1
2
3
4
5
6
7
8

# 5 预览

预览时必须处于登录状态,如果没有登录,会提示需先登录。预览的二维码可命令行打印也可以转成 base64。ES6 等项目配置从 project.config.json 读。

-p, --preview [project_root]: 预览代码,project_root 指定项目根路径。

--preview-qr-output [format[@path]]: 指定二维码输出形式,语义同登录用的选项 --login-qr-output。

--preview-info-output [path]: 指定后,会将本次预览的额外信息以 json 格式输出至指定路径,如代码包大小、分包大小信息。

--compile-condition '[json]': 指定自定义编译条件,json 条件可指定两个字段,pathName 表示打开的页面,不填表示首页,query 表示页面参数

示例:

### 预览,在终端中打印登录二维码
cli -p /Users/username/demo
### 预览,二维码转成 base64 并存到文件 /Users/username/code.txt
cli -p /Users/username/demo --preview-qr-output base64@/Users/username/code.txt
### 预览,并将预览代码包大小等信息存入 /Users/username/info.json
cli -p /Users/username/demo --preview-info-output /Users/username/info.json
### 预览,指定自定义编译条件,pathName
cli --compile-condition '{"pathName":"pages/index/index","query":"x=1&y=2"}'
1
2
3
4
5
6
7
8

# 6 上传代码

上传代码时必须处于登录状态,如果没有登录,会提示需先登录。

上传代码需要的信息包括项目根目录、版本号、版本备注。

-u, --upload [version@project_root]: 上传代码,version 指定版本号,project_root 指定项目根路径。

--upload-desc [desc]: 上传代码时的备注。

--upload-info-output [path]: 指定后,会将本次上传的额外信息以 json 格式输出至指定路径,如代码包大小、分包大小信息。

示例:

# 上传路径 /Users/username/demo 下的项目,指定版本号为 1.0.0,版本备注为 initial release
cli -u 1.0.0@/Users/username/demo --upload-desc 'initial release'
# 上传并将代码包大小等信息存入 /Users/username/info.json
cli -u 1.0.0@/Users/username/demo --upload-desc 'initial release' --upload-info-output /Users/username/info.json
1
2
3
4

# 7 构建 npm

命令行触发 npm 构建。

--build-npm [project_root]: 按照 project.config.json 中的配置构建,行为和菜单栏的构建 NPM 一致 --build-npm-compile-type [type]:手动指定编译类型("miniprogram" | "plugin"),用于指定走 miniprogramRoot 还是 pluginRoot,优先级比 project.config.json 中的高

示例:

cli --build-npm /Users/username/demo
1

# 8 关闭当前项目窗口

通过命令行触发项目窗口关闭

--close [project_root]: 如果指定的 project_root 项目被打开,将会被自动关闭

示例:

# 关闭指定项目
cli --close /Users/username/demo
1
2

# 9 关闭开发者工具

通过命令行退出开发者工具

--quit: 退出开发者工具

# 退出开发者工具
cli --quit
1
2