[{"data":1,"prerenderedAt":17},["ShallowReactive",2],{"doc-new-project":3},{"slug":4,"title":5,"description":6,"toc":7,"html":16},"new-project","复制成新产品","从 GitHub 开新项目，并保留拉取模板更新的通道。",[8,10,12,14],{"id":9,"text":9},"建仓库",{"id":11,"text":11},"本地初始化",{"id":13,"text":13},"要改的文件",{"id":15,"text":15},"要新建的","\u003Ch2 id=\"建仓库\">建仓库\u003C\u002Fh2>\n\u003Cp>模板在自己账号下时没法 fork 给自己，一个账号也只能有同一仓库的一个 fork，开多个产品不够用。所以用“克隆 + 新建仓库”，把模板留作 \u003Ccode>upstream\u003C\u002Fcode>：\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">git clone git@github.com:tyrad\u002Fnuxt-starter.git my-app\ncd my-app\ngit remote rename origin upstream\ngh repo create my-app --private --source . --push\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>模板以后有更新：\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">git fetch upstream\ngit merge upstream\u002Fmain\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>如果新产品放在 GitHub 组织下，也可以直接在网页上 Fork 到组织，用 Sync fork 同步。\u003C\u002Fp>\n\u003Ch2 id=\"本地初始化\">本地初始化\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install\nnpm run auth:setup:local\nnpm run db:migrate:local\nnpm run dev\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"要改的文件\">要改的文件\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>package.json\u003C\u002Fcode>、\u003Ccode>wrangler.jsonc\u003C\u002Fcode>：项目名、Worker 名、库名\u003C\u002Fli>\n\u003Cli>\u003Ccode>scripts\u002Fproduction-target.ts\u003C\u002Fcode>：正式 Worker 名、域名、D1 ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>app\u002Fapp.config.ts\u003C\u002Fcode>：站点名、导航\u003C\u002Fli>\n\u003Cli>\u003Ccode>shared\u002Flocales.ts\u003C\u002Fcode>、\u003Ccode>i18n\u002Flocales\u002F\u003C\u002Fcode>：语言和文案，见\u003Ca href=\"\u002Fdocs\u002Fi18n\">多语言\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ccode>app\u002Fassets\u002Fcss\u002Fmain.css\u003C\u002Fcode>：品牌色\u003C\u002Fli>\n\u003Cli>\u003Ccode>app\u002Fpages\u002Findex.vue\u003C\u002Fcode>：首页介绍\u003C\u002Fli>\n\u003Cli>\u003Ccode>app\u002Fpages\u002Fprivacy.vue\u003C\u002Fcode>、\u003Ccode>terms.vue\u003C\u002Fcode>：按实际收集的数据重写\u003C\u002Fli>\n\u003Cli>\u003Ccode>content\u002Fdocs\u002F\u003C\u002Fcode>：文档\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>尽量只改这些位置，业务代码放新文件，合并模板更新时冲突少。\u003C\u002Fp>\n\u003Ch2 id=\"要新建的\">要新建的\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Cloudflare：新的 D1、Worker 和域名\u003C\u002Fli>\n\u003Cli>Google Cloud：新项目、同意屏幕、OAuth 客户端\u003C\u002Fli>\n\u003Cli>Resend：新的发件域名、Key、两份模板\u003C\u002Fli>\n\u003Cli>新的 \u003Ccode>NUXT_AUTH_SECRET\u003C\u002Fcode>，每个站点、每个环境各一份\u003C\u002Fli>\n\u003C\u002Ful>\n",1792485320586]