swan-toolkit v3.23.1-beta.1
百度智能小程序命令行工具
责任人
- 孟珂(mengke01)
安装与更新
安装
npm i swan-toolkit -g
- 环境依赖:Node.js,版本要求>=8.0。推荐使用nvm,避免权限问题。
- 亦可局部安装,通过
npx
或node_modules/.bin/swan
执行 - 本工具跨平台,可以部署在windows/mac/Linux,可用于产品集成流水线部署
- (全局)安装后即可使用全局shell命令
swan
更新
当该npm包有更新时,将会在使用过程中以命令行输出形式提示,建议请按照提示使用安装命令更新npm包;另为了不干扰集成流水线功能,更新提示不会在使用--json
参数时展示,对于此种情况建议定期检查并手动更新。
功能
下文提到的登录密钥,因为涉及到个人账户的身份认证,在用于公共机器构建流水线时,建议使用独立开发账号的登录密钥,并做好用户隔离和安全保护,定期修改账户密码。 登录密钥获取方式:在百度智能小程序开发者工具(版本高于2.4.1)中登录后,可通过"菜单-关于-复制登录密钥"获取
创建项目
解释:在当前路径下创建项目
方法名称
create
输出
参数名 | 类型 | 说明 |
---|---|---|
name | String | 项目名称 |
appId | String | appId |
type | String | 项目类型,详见 “项目类型说明” |
path | boolean | 项目所在路径 |
参数说明
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
name | String | 是 | 项目名称 | |
appId | String | 否 | 17767960 | appId,默认值为测试号的 appId |
type | String | 否 | app | 项目类型,详见 “项目类型说明” |
force | boolean | 否 | false | 是否强制覆盖项目目录中冲突的文件 |
default | boolean | 否 | false | 是否禁用 “问卷” 并使用可选参数的默认值创建项目 |
Tips 使用测试号作为 appId 将导致部分功能受限,建议合理使用 appId。
项目类型说明
参数值 | 说明 |
---|---|
app | 小程序项目 |
app-dynamic-lib | 小程序动态库项目 |
app-dependency | 小程序动态扩展项目 |
app-plugin | 小程序插件项目 |
app-cloud | 小程序云开发项目 |
app-fragment | 小程序代码片段 |
用法示例
# 使用测试号的 appId 创建名称为 my-project-name 的小程序项目
swan create my-project-name
# 使用测试号的 appId 创建名称为 my-project-name 的小程序动态库项目
swan create my-project-name --type=app-dynamic-lib
# 使用 xxx 作为 appId 创建名称为 my-project-name 的小程序代码片段,并强制覆盖项目目录中冲突的文件
swan create my-project-name --appId=xxx --type=app-fragment --force
授权登录
解释:在当前设备登录百度帐户
方法名称
login
输出
loginEventListener 函数,可以监听登录事件(详见 “登录事件说明”),用于 Node 环境。
参数说明
参数名 | 类型 | 说明 |
---|---|---|
eventName | string | 事件名称 |
callback | Function | 用于响应登录事件的回调函数 |
登录事件说明
事件名称 | 说明 |
---|---|
url-generated | 生成登录页 url |
success | 登录成功 |
fail | 登录失败 |
参数说明
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
timeout | number | 否 | 12000 (单位毫秒) | 登录超时时长 |
force | boolean | 否 | false | 是否忽略当前已登录帐户,并登录新帐户 |
用法示例
# 登录百度帐户
swan login
# 忽略当前已登录帐户,并登录
swan login --force
登出帐户
解释:在当前设备登出百度帐户
方法名称
logout
输出
无输出
参数说明
无参数
用法示例
# 登出百度帐户
swan logout
预览
解释:生成小程序预览码
返回值
参数名 | 类型 | 说明 |
---|---|---|
name | String | 项目名称 |
appId | String | appId |
type | String | 项目类型,详见 “项目类型说明” |
path | boolean | 项目所在路径 |
swan preview --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION
输入参数
-p, --project-path
(必要参数)小程序项目源码路径,可为相对路径或绝对路径--token
(必要参数)有该小程序发布权限的登录密钥--min-swan-version
(小程序必要参数)最低基础库版本,参见基础库最低版本设置--base64
输出base64格式的预览二维码图片--json
只以json格式输出最终结果,推荐在集成构建中使用-V, --verbose
输出日志--game
小游戏预览
输出
- 预览二维码、bundle_id
- exit code非0时,表示过程存在异常,请根据输出报错日志调查原因
web化预览
swan web-preview --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION
输入参数
-p, --project-path
(必要参数)小程序项目源码路径,可为相对路径或绝对路径--token
(必要参数)有该小程序发布权限的登录密钥--base64
输出base64格式的预览二维码图片--json
只以json格式输出最终结果,推荐在集成构建中使用-V, --verbose
输出日志
输出
- 预览二维码
- exit code非0时,表示过程存在异常,请根据输出报错日志调查原因
发布
swan upload --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION --release-version 1.0.0.0 --desc description
输入参数
-p, --project-path
(必要参数)小程序项目源码路径,可为相对路径或绝对路径--token
(必要参数)有该小程序发布权限的登录密钥--release-version
(必要参数)发布版本号--min-swan-version
(必要参数)最低基础库版本,参见基础库最低版本设置。如未填写,则以上次为准。--sourcemap
自动上传source map,可以辅助定位线上业务代码的报错信息-d, --desc
版本描述--json
只以json格式输出最终结果,推荐在集成构建中使用,可输出包体积信息-V, --verbose
输出日志--game
小游戏发布
输出
- 发布成功提示
- exit code非0时,表示过程存在异常,请根据输出报错日志调查原因
上传代码片段
swan upload-fragment --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION --name THE_NAME --desc description
输入参数
-p, --project-path
(必要参数)小程序项目源码路径,可为相对路径或绝对路径--token
(必要参数)有该小程序发布权限的登录密钥--name
(必要参数)代码片段名称-d, --desc
版本描述--json
只以json格式输出最终结果,推荐在集成构建中使用-V, --verbose
输出日志--game
上传小游戏代码片段
输出
- 代码片段链接
- exit code非0时,表示过程存在异常,请根据输出报错日志调查原因
反馈与建议
如果在使用中遇到问题,或有改进建议,可以在智能小程序开发者社区中发帖向我们反馈,反馈时请注意以下几点:
- 反馈前请使用
swan version
获取基本版本信息,并在反馈内容中标明 - "问题类型"请选择“开发者工具”,并在反馈内容中标明"cli命令行工具"
您的反馈将有助于我们完善产品。
3 months ago
6 months ago
7 months ago
8 months ago
11 months ago
8 months ago
8 months ago
8 months ago
11 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago