关于 serverpod-modules
用于在 Serverpod 中添加可复用模块的技能,模块可包含独立命名空间的服务器端、客户端及可选 Flutter 包。还介绍自定义模块的创建和在模型中引用模块类型。
主要功能
- 01添加服务器端和客户端包
- 02支持可选 Flutter 包
- 03配置模块别名
- 04在模型中引用模块类型
- 05创建自定义模块包
适用场景
- 01集成可复用的 Serverpod 模块
- 02在应用模型中使用模块类型
- 03搭建自定义模块
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ serverpod/ serverpod --skill serverpod-modules安装后在 Claude Code 中输入/serverpod-modules确认已加载。
详细介绍
Serverpod 模块
模块是可复用的 Serverpod 包,在各自的端点和模型命名空间中包含服务端、客户端,以及可选的 Flutter 代码。
添加模块
服务端: 将模块服务端包添加到 pubspec.yaml(例如 serverpod_auth_idp_server: <serverpod-version>)。也可以在 config/generator.yaml 中声明:
modules:
serverpod_auth_idp:
nickname: auth
然后运行 dart pub get、serverpod generate。如果模块添加了表且启用了数据库生成,请参阅 ../serverpod-migrations/SKILL.md。
客户端: 添加模块客户端包(例如 serverpod_auth_idp_client: <serverpod-version>)。
Flutter: 如果提供了模块 Flutter 包,请添加(例如 serverpod_auth_idp_flutter: <serverpod-version>)。
确保 Serverpod 和模块版本保持一致。
在模型中引用模块类型
class: MyClass
fields:
userInfo: module:serverpod_auth_core:AuthUser
# Or with nickname:
userInfo: module:auth:AuthUser
更改后运行 serverpod generate。
创建自定义模块
serverpod create --template module my_module
此操作会创建服务端和客户端包。如有需要,添加 Flutter 包:flutter create --template package my_module_flutter。在 config/generator.yaml 中设置 type: module。为表名添加前缀(例如 my_module_orders),以避免冲突。