复制成新产品
从 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 IDapp/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,每个站点、每个环境各一份