Skip to content

JY 项目架构

仓库结构

jy_prj/
├── jy-site/      # 公开博客(SvelteKit 5 + adapter-static)
├── jy-admin/     # 管理端(Next.js 15 App Router + Ant Design)
├── docs/         # VitePress 文档站
└── .cursor/skills/  # 编码规范类 skill(可选链到 docs/skills/)

三个应用独立构建、独立部署,共用 MySQL 数据库 blog_site

线上映射

应用域名服务器路径运行时
jy-sitehttps://jianyi.my/opt/web/jysite无 Node(纯静态)
jy-adminhttps://admin.jianyi.my/opt/web/jy-adminNode :5174 + systemd
docshttps://doc.jianyi.my/opt/web/doc.jysite无 Node(纯静态)

测试机:154.89.148.95,SSH 别名 jy-test,端口 3337

核心数据流

text
jy-admin 写入 MySQL(articles、categories、tags、site_settings)

jy-site dev:每次请求查库(实时)
jy-site 生产:pnpm build:static 时查库,烘焙进 HTML/JSON

build/ → GitHub Actions 或手动 tar/scp → Nginx 静态目录

生产博客没有 Node。改数据库不会自动改线上 HTML,必须重新构建静态站。

静态边界(必须理解)

能力jy-site 生产jy-admin
读 MySQL仅构建时运行时
Server Actions / API有(登录、触发构建)
Sessioniron-session
部署物build/ 目录standalone server.js

jy-site 的 /api/search 等仅在 dev 可用;生产用预生成的 search-index.json

技术栈速查

子项目框架包管理生产构建
jy-siteSvelteKit 5pnpmpnpm build:static
jy-adminNext.js 15pnpmpnpm build.next/standalone
docsVitePresspnpmpnpm build.vitepress/dist

Node 22.22.1.nvmrc),pnpm 10.15.0

本地开发端口

服务端口说明
jy-admin5174管理端
jy-site5175(5173 被占用时)博客;勿与别的项目混淆
docsVitePress 默认pnpm dev

关键文件入口

用途路径
静态适配器jy-site/svelte.config.js
完整静态构建jy-site/scripts/build-static.ts
文章 Server Actionjy-admin/lib/actions/article.ts
触发站点构建 APIjy-admin/app/api/publish/route.ts
GitHub Actions 部署jy-site/.github/workflows/deploy-jy-site.yml
管理端 standalone 配置jy-admin/next.config.ts

延伸阅读

JY 项目文档