BFF 脚本:本地与远端同步
BFF 脚本是跑在平台上的逻辑:常见类型包括 ENDPOINT (接口)、 COMMON (公共函数)、 HOOK (挂在数据集操作上的钩子)。CLI 这套命令围绕 本地文件 + lock 文件 做同步:你可以把远端拉到本地改,再推回去,也可以本地新建再推送。
前提:已登录,App Code 正确;项目里按规范配置了 BFF 目录(具体路径由项目模板与 bff 相关配置决定,出错时看报错里的路径提示)。
先看远端有哪些脚本
rabetbase bff list
rabetbase bff list --type COMMON
rabetbase bff list --name getUserInfo
看某一条的详情(含完整脚本内容):
rabetbase bff detail --id
ID 来自 bff list 的输出。
本地和远端是否一致:status
改了一堆文件,想确认和 lock 里记录的是否一致、有没有漏推:
rabetbase bff status
需要顺带发现「远端有、本地没有」的脚本时:
rabetbase bff status --remote
从远端拉到本地:pull
把平台上的脚本拉到你的工程里(会处理冲突、更新 lock):
rabetbase bff pull
只拉某一类或强制覆盖时:
rabetbase bff pull --type ENDPOINT
rabetbase bff pull --force
第一次协作前,团队最好先约定是「以远端为准 pull」还是「以本地为准 push」,避免来回覆盖。
在本地新建一个脚本:new
按模板生成文件,减少手写骨架的时间:
rabetbase bff new --type ENDPOINT --name myHandler
类型说明:
ENDPOINT:对外暴露的接口类脚本。COMMON:给其它脚本复用的工具函数。HOOK:挂在数据集某个操作上的钩子,通常要指定数据集(--alias优先,没有则--datasetcode)以及钩子相关参数,交互模式下会引导你选。
HOOK 的完整非交互参数以 rabetbase bff new --help 为准。
把本地修改推到远端:push
本地改完后:
rabetbase bff push
可按类型、按函数名缩小范围;若确定要覆盖保护逻辑:
rabetbase bff push --type ENDPOINT --name myHandler
rabetbase bff push --force
push 属于高危写操作,团队规范里常会要求走评审或限制 riskLevel。
删除远端脚本并清理本地:delete
rabetbase bff delete --target
会删远端并更新 lock,本地文件会进回收站类目录(实现细节以 CLI 输出为准)。 **删除前务必确认没有线上依赖 **。
和旧文档里「bff save」说法的区别
早期文档可能提到单文件 save。当前 CLI 以 bff new + 编辑 + bff push ,以及 bff pull为主流程;同步状态依赖**lock 文件 **。若你看到的教程仍写 bff save,以 rabetbase bff --help 列出的子命令为准。
小结
list/detail:查远端。status:对齐前先看一眼。pull/push:同步主路径。new:脚手架。delete:高危,谨慎用。
开发详细指南见:BFF:拉取、本地同步、调试
菜单与代码生成见 代码生成与菜单。