跳到主要内容

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:拉取、本地同步、调试

菜单与代码生成见 代码生成与菜单