mirror of
https://github.com/KivotosRailway/website.git
synced 2026-11-03 11:06:32 +09:00
优化页面数据加载并完善多语言 SEO、新闻回退、主题首屏及自动化回归测试
This commit is contained in:
@@ -23,6 +23,10 @@ corepack pnpm dev
|
||||
```bash
|
||||
corepack pnpm lint # 检查代码
|
||||
corepack pnpm build # 构建静态站点到 out/
|
||||
corepack pnpm test # 内容回退和 URL/SEO 单元测试
|
||||
corepack pnpm test:export # 检查 out/ 的静态资源引用
|
||||
corepack pnpm test:e2e # 在 out/ 上运行浏览器回归测试
|
||||
corepack pnpm check # lint、单元测试、构建、产物与浏览器检查
|
||||
corepack pnpm cache-images # 缓存新闻中的远程图片
|
||||
corepack pnpm deploy # 使用 Wrangler 部署
|
||||
```
|
||||
@@ -40,3 +44,15 @@ public/ 图片、图标与其他静态资源
|
||||
```
|
||||
|
||||
公开语言路径为 `/zh-Hans/`、`/zh-Hant/`、`/en/` 和 `/jp/`。例如:`/zh-Hans/news/`、`/en/links/`。
|
||||
|
||||
## 静态导出与回归测试
|
||||
|
||||
首次运行浏览器测试前执行 `corepack pnpm exec playwright install chromium`。测试使用本机 `127.0.0.1:4173` 服务已构建的 `out/`,覆盖 SPA 导航、语言切换、主题持久化、移动菜单、SEO 与 404。CI 使用 `.nvmrc` 固定的 Node.js 版本执行 `corepack pnpm check`。
|
||||
|
||||
新闻列表仅传递摘要,详情按 slug 回退到中文;首页只读取当前语言的三条新闻。政策正文在构建时渲染,不向客户端传递四种语言的全文。
|
||||
|
||||
SEO 默认主域名为 `https://www.kivotos.cc`,可在构建时通过 `NEXT_PUBLIC_SITE_URL` 设置主域名(不带路径)。所有页面的 canonical、hreflang、Open Graph 和 sitemap 共用此配置。`jp` 是公开路由,HTML 的 `lang` 和 hreflang 使用 `ja`。
|
||||
|
||||
`pnpm build` 在 Next.js 静态导出后执行 `scripts/finalize-export.mts`,按路径设置 HTML 初始语言,并在 head 尾部加入同步主题初始化脚本,使保存的主题在正文首次绘制前生效。这不在 React 树中插入脚本,也不改变 SPA 路由。请使用完整构建命令;`next dev` 不执行导出后处理,首屏主题验证以构建产物为准。
|
||||
|
||||
资源检查明确记录现有 8 张缺失新闻缓存图,以及 20240917 新闻的相对封面路径(四种语言均存在),输出诊断信息;这些图片修复不在本轮范围内,任何新增缺失资源都会使检查失败。修复图片后应移除 `tests/export/assets.test.ts` 中的对应记录。
|
||||
|
||||
Reference in New Issue
Block a user