跳转到内容

创建独立应用

先完成快速开始,确认取得的源码属于同一开发基线。starter 既是可运行示例,也是新应用的起点。

当前核心包尚未正式发布。独立应用需要维护者提供可访问的私有 Go module,以及配套的 @modu/web npm 包或 tarball。仅复制目录无法补齐这些依赖。

维护者可在核心仓库构建前端产物:

终端窗口
pnpm --filter @modu/web build
pnpm --filter @modu/web pack

Go module 的路径是 github.com/igwen6w/modu/server。采用 Git tag 交付时,仓库 tag 为 server/vX.Y.Z,应用使用的 module 版本为 vX.Y.Z。私有源的地址和授权由维护者提供。

starter/serverstarter/web 复制到新仓库的 serverweb 目录。只复制源码和配置样例,不复制 .env、日志、存储数据、node_modules 或构建目录。

  1. 修改后端 go.modmodule modu-app,同步修改应用自己的 modu-app/... 导入。
  2. 修改前端 package.json 的应用名称与品牌配置。
  3. @modu/webworkspace:0.7.0 改为维护者实际交付的精确版本或 tarball 路径。
  4. 配置 Go 私有 module 访问,保留配套核心版本,并生成应用自己的 go.sum
  5. 在应用 web 安装依赖,提交自己的 pnpm-lock.yaml

独立应用不携带核心仓库的 go.work,也不使用指向核心源码的 replace 或前端 alias。这样 CI 才能在没有核心工作树的环境中构建。

后端通过 server/application/options.go 组装业务路由、菜单、迁移、种子和自有扩展。前端通过 web/config/routes.tsweb/src/app.tsx 与扩展 catalog 接入核心。

商品样板属于应用。若不需要,删除它在 Options 中的注册及前端商品路由,再清理对应页面、services、类型和语言资源。回执扩展也可按同样原则移除,随后重新生成 catalog。

终端窗口
# 应用 server/
GOWORK=off go mod tidy
GOWORK=off go list -m github.com/igwen6w/modu/server
go run ./cmd/modu catalog generate
go run ./cmd/modu check
go build ./...
# 应用 web/
pnpm extension:check
pnpm typecheck
pnpm build
pnpm extension:verify-build

再按配置与启动初始化独立数据库。提交配套依赖、锁文件和生成的 catalog;后续升级见升级核心包