
本文翻译整理自:https://github.com/pocketbase/pocketbase
文章目录
一、关于 PocketBase
PocketBase 是一个开源的 Go 后端框架,主要功能包括:
- 嵌入式数据库(SQLite )支持实时订阅
- 内置文件与用户管理
- 便捷的管理员仪表盘 UI
- 简洁的 REST 风格 API
注:请注意 PocketBase 仍处于积极开发阶段,在 v1.0.0 版本发布前不保证完全的向后兼容性。
相关链接资源
- github : https://github.com/pocketbase/pocketbase
- 官网:https://pocketbase.io
- 官方文档:https://pocketbase.io/docs
- 最新发布:https://github.com/pocketbase/pocketbase/releases
- Go 文档:https://pkg.go.dev/github.com/pocketbase/pocketbase
- License : MIT
关键功能特性
- 嵌入式 SQLite 数据库
- 实时数据订阅
- 用户权限管理系统
- 文件存储管理
- 可视化后台管理界面
- RESTful API 接口
二、API SDK 客户端
推荐使用官方 SDK 客户端与 PocketBase Web API 交互:
- JavaScript - pocketbase/js-sdk(支持浏览器、Node.js、React Native)
- Dart - pocketbase/dart-sdk(支持 Web、移动端、桌面端、CLI)
更多使用建议请参考 https://pocketbase.io/docs/how-to-use/
三、使用方式
1、作为独立应用使用
可从 发布页面 下载对应平台的预编译可执行文件,解压后执行 ./pocketbase serve
即可运行。
预编译版本基于 examples/base/main.go
文件构建,默认启用了 JS VM 插件支持通过 JavaScript 扩展功能(详见 JavaScript 扩展指南)。
2、作为 Go 框架使用
PocketBase 可作为标准 Go 库使用,方便开发者构建定制化业务逻辑并生成独立可执行文件。
基础示例:
0、安装 Go 1.23+(如未安装)
1、创建项目目录并添加 main.go
文件:
go
package main
import (
"log"
"github.com/pocketbase/pocketbase"
"github.com/pocketbase/pocketbase/core"
)
func main() {
app := pocketbase.New()
app.OnServe().BindFunc(func(se *core.ServeEvent) error {
// 注册新路由 "GET /hello"
se.Router.GET("/hello", func(re *core.RequestEvent) error {
return re.String(200, "Hello world!")
})
return se.Next()
})
if err := app.Start(); err != nil {
log.Fatal(err)
}
}
2、初始化依赖:go mod init myapp && go mod tidy
3、启动应用:go run main.go serve
4、构建静态可执行文件:CGO_ENABLED=0 go build
,然后运行 ./myapp serve
更多细节请参考 Go 扩展指南
3、从源码构建示例
要构建与发布版本相同的可执行文件:
0、安装 Go 1.23+(如未安装)
1、克隆仓库
2、进入 examples/base
目录
3、执行构建命令(示例为 Linux 环境):
sh
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build
4、运行生成的可执行文件:./base serve
当前纯 Go SQLite 驱动支持的构建目标平台:
darwin amd64
darwin arm64
freebsd amd64
freebsd arm64
linux 386
linux amd64
linux arm
linux arm64
linux ppc64le
linux riscv64
linux s390x
windows amd64
windows arm64
四、测试
PocketBase 包含单元测试和集成测试,运行命令:
sh
go test ./...
测试指南请参考 http://pocketbase.io/docs/testing
伊织 xAI 2025-04-23(三)