跳到主要内容

上传到商店

成功打包 blocklet 后,分发的下一步是将其上传到 Blocklet Store。blocklet upload 命令会将你的 blocklet 包发送到指定的商店,使其可供他人发现和安装。这是公共分发的主要方法。

成功打包 blocklet 后,分发的下一步是将其上传到 Blocklet Store。blocklet upload 命令会将你的 blocklet 包发送到指定的商店,使其可供他人发现和安装。这是公共分发的主要方法。

在继续之前,请确保你已经打包了你的 blocklet 并配置了你的 CLI 以连接到商店。

命令用法

该命令上传在默认发布目录中找到的 blocklet 包。

Basic Usage

bash
blocklet upload [metaFile]

参数和选项

参数/选项描述
metaFile可选。已打包 blocklet 的 blocklet.json 文件的路径。如果未指定,则默认为 ./.blocklet/release/blocklet.json
--access-token <token>可选。Blocklet Store 的访问令牌。此标志会覆盖你在配置配置文件中设置的任何令牌。
--profile <name>可选。指定要使用的配置配置文件。如果你管理多个商店连接(例如,开发、预发布、生产),这会很有用。默认为 default

上传工作流

上传过程涉及 CLI 读取你的本地配置和 blocklet 包,然后将其安全地传输到 Blocklet Store 进行验证和存储。

Upload to Store

示例

标准上传

如果你在项目的根目录中,并且已经配置了默认配置文件,只需运行不带任何参数的命令即可。

Upload from Project Root

bash
blocklet upload

上传特定文件

要从特定位置上传 blocklet 包,请提供其 blocklet.json 文件的路径。

Upload a specific bundle

bash
blocklet upload /path/to/my-blocklet/.blocklet/release/blocklet.json

使用不同的配置文件

如果你有多个商店配置,请使用 --profile 标志来指定上传时使用哪一个。

Upload using a profile

bash
blocklet upload --profile production

覆盖访问令牌

你可以直接在命令行中提供访问令牌,这对于 CI/CD 环境很有用。

Upload with a specific token

bash
blocklet upload --access-token bst_xxxxxxxxxxxxxxxxxxxxxx

成功上传

上传成功后,你将看到一条确认消息。具体消息取决于商店的配置。

已上传(需要手动发布)

最常见的情况是,blocklet 已上传并等待开发者从仪表板手动发布。

Example Output: Uploaded

bash
ℹ Blocklet My Awesome Blocklet 1.0.0 successfully uploaded to https://store.blocklet.dev!
ℹ 提示:你需要在 https://store.blocklet.dev/developer/blocklets 发布 blocklet 以使其公开可访问

自动发布

在某些情况下,商店可能配置为自动发布新的上传。

Example Output: Auto-Published

bash
✔ Blocklet My Awesome Blocklet 1.0.0 auto published successfully: https://store.blocklet.dev/blocklets/z8iZ......... !

问题排查

元文件无效

错误:`Invalid meta file: '...'`。这意味着命令找不到 `blocklet.json` 文件。请确保你已先运行 `blocklet bundle` 并且位于正确的目录中。

缺少商店 URL

错误:`Can not find the store url...`。你的 CLI 配置文件中缺少商店的地址。运行 `blocklet config set store [storeUrl]` 来修复它。

访问令牌错误

错误:`accessToken is required...` 或 `[NO-ACCESS]`。这表示身份验证失败。你的访问令牌可能丢失、无效或已过期。你可以使用 `blocklet config set accessToken [token]` 全局设置它,或者使用 `--access-token` 标志为单个命令传递它。