创建独立应用
先完成快速开始,确认取得的源码属于同一开发基线。starter 既是可运行示例,也是新应用的起点。
准备核心产物
Section titled “准备核心产物”当前核心包尚未正式发布。独立应用需要维护者提供可访问的私有 Go module,以及配套的 @modu/web npm 包或 tarball。仅复制目录无法补齐这些依赖。
维护者可在核心仓库构建前端产物:
pnpm --filter @modu/web buildpnpm --filter @modu/web packGo module 的路径是 github.com/igwen6w/modu/server。采用 Git tag 交付时,仓库 tag 为 server/vX.Y.Z,应用使用的 module 版本为 vX.Y.Z。私有源的地址和授权由维护者提供。
建立业务仓库
Section titled “建立业务仓库”将 starter/server 和 starter/web 复制到新仓库的 server、web 目录。只复制源码和配置样例,不复制 .env、日志、存储数据、node_modules 或构建目录。
- 修改后端
go.mod的module modu-app,同步修改应用自己的modu-app/...导入。 - 修改前端
package.json的应用名称与品牌配置。 - 将
@modu/web的workspace:0.7.0改为维护者实际交付的精确版本或 tarball 路径。 - 配置 Go 私有 module 访问,保留配套核心版本,并生成应用自己的
go.sum。 - 在应用
web安装依赖,提交自己的pnpm-lock.yaml。
独立应用不携带核心仓库的 go.work,也不使用指向核心源码的 replace 或前端 alias。这样 CI 才能在没有核心工作树的环境中构建。
保留唯一装配入口
Section titled “保留唯一装配入口”后端通过 server/application/options.go 组装业务路由、菜单、迁移、种子和自有扩展。前端通过 web/config/routes.ts、web/src/app.tsx 与扩展 catalog 接入核心。
商品样板属于应用。若不需要,删除它在 Options 中的注册及前端商品路由,再清理对应页面、services、类型和语言资源。回执扩展也可按同样原则移除,随后重新生成 catalog。
验证独立消费
Section titled “验证独立消费”# 应用 server/GOWORK=off go mod tidyGOWORK=off go list -m github.com/igwen6w/modu/servergo run ./cmd/modu catalog generatego run ./cmd/modu checkgo build ./...
# 应用 web/pnpm extension:checkpnpm typecheckpnpm buildpnpm extension:verify-build