PocketBase 让后端开发回归本质。内置数据库、用户登录、文件上传、管理后台,5分钟搭建一个后端系统-开源码库社区-开源分享-6协议-村兔网

PocketBase 让后端开发回归本质。内置数据库、用户登录、文件上传、管理后台,5分钟搭建一个后端系统

PocketBase 是一个开源的 Go 后端,包括:

  • 具有实时订阅的嵌入式数据库 (SQLite
  • 内置文件和用户管理
  • 方便的管理仪表板 UI
  • 和简单的 REST 式 API

有关文档和示例,请访问 https://pocketbase.io/docs。

警告

请记住,PocketBase 仍在积极开发中 因此,在达到 v1.0.0 之前不能保证完全向后兼容性。

API SDK 客户端

与 PocketBase Web API 交互的最简单方法是使用官方 SDK 客户端之一:

  • JavaScript – pocketbase/js-sdk浏览器、Node.js、React Native)
  • Dart – pocketbase/dart-sdkWeb、移动、桌面、CLI)

您还可以查看 https://pocketbase.io/docs/how-to-use/ 中的建议。

概述

用作独立应用程序

您可以从“发布”页面下载适用于您的平台的预构建可执行文件。下载后,解压存档并在解压的目录中运行。./pocketbase serve

预构建的可执行文件基于 examples/base/main.go 文件,并默认启用 JS VM 插件,允许使用 JavaScript 扩展 PocketBase(有关更多详细信息,请参阅使用 JavaScript 扩展)。

用作 Go 框架/工具包

PocketBase 作为常规 Go 库包分发,它允许您构建您自己的自定义应用程序特定业务逻辑,并且最后仍然有一个可移植的可执行文件。

这是一个最小的例子:

  1. 安装 Go 1.23+(如果您尚未安装)

  2. 创建一个新的项目目录,其中包含以下文件:main.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 {
            // registers new "GET /hello" route
            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)
        }
    }
  3. 要初始化依赖项,请运行 .go mod init myapp && go mod tidy

  4. 要启动应用程序,请运行 。go run main.go serve

  5. 要构建静态链接的可执行文件,您可以运行并启动创建的可执行文件。CGO_ENABLED=0 go build./myapp serve

有关更多详细信息,请参阅使用 Go 进行扩展。

构建和运行存储库 main.go 示例

要构建最小的独立可执行文件,例如发布页面中的预构建可执行文件,您只需在目录中运行即可:go buildexamples/base

  1. 安装 Go 1.23+(如果您尚未安装)
  2. 克隆/下载存储库
  3. 导航到examples/base
  4. 运行 (https://go.dev/doc/install/source#environmentGOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build)
  5. 通过运行 启动创建的可执行文件。./base serve

请注意,目前纯 Go SQLite 驱动程序支持的构建目标是:

darwin  amd64
darwin  arm64
freebsd amd64
freebsd arm64
linux   386
linux   amd64
linux   arm
linux   arm64
linux   loong64
linux   ppc64le
linux   riscv64
linux   s390x
windows 386
windows amd64
windows arm64

测试

PocketBase 带有单元和集成测试的混合包。 要运行它们,请使用标准命令:go test

go test ./...

另请查看测试指南,了解如何编写自己的自定义应用程序测试。

 

请登录后发表评论

    没有回复内容