Nuxt Starter

复制成新产品

从 GitHub 开新项目,并保留拉取模板更新的通道。

建仓库

模板在自己账号下时没法 fork 给自己,一个账号也只能有同一仓库的一个 fork,开多个产品不够用。所以用“克隆 + 新建仓库”,把模板留作 upstream:

git clone git@github.com:tyrad/nuxt-starter.git my-app
cd my-app
git remote rename origin upstream
gh repo create my-app --private --source . --push

模板以后有更新:

git fetch upstream
git merge upstream/main

如果新产品放在 GitHub 组织下,也可以直接在网页上 Fork 到组织,用 Sync fork 同步。

本地初始化

npm install
npm run auth:setup:local
npm run db:migrate:local
npm run dev

要改的文件

  • package.json、wrangler.jsonc:项目名、Worker 名、库名
  • scripts/production-target.ts:正式 Worker 名、域名、D1 ID
  • app/app.config.ts:站点名、描述、导航
  • app/assets/css/main.css:品牌色
  • app/pages/index.vue:首页介绍
  • app/pages/privacy.vue、terms.vue:按实际收集的数据重写
  • content/docs/:文档

尽量只改这些位置,业务代码放新文件,合并模板更新时冲突少。

要新建的

  • Cloudflare:新的 D1、Worker 和域名
  • Google Cloud:新项目、同意屏幕、OAuth 客户端
  • Resend:新的发件域名、Key、两份模板
  • 新的 NUXT_AUTH_SECRET,每个站点、每个环境各一份