应用台导航页
  • 主页
  • 博客
  • 知识库
  • 工作台
  • 集萃
  • 友链
  • 关于
我构建新pwa的通用提示词

我构建新pwa的通用提示词

技术
更新于 2026-05-04
— 1350 字
返回

技术栈

  • 状态管理:zustand 做全局状态管理,要做状态持久化与“恢复”,使用 persist 中间件,将必要 UI 状态保存在本地
  • 基础组件 shadcn ui
  • pwa 还需要处理 Service Worker。在 Next.js 中,推荐使用 @ducanh2912/next-pwa(目前比老牌的 next-pwa 对 App Router 支持更好)
  • 轮播图:Embla Carousel
  • 灯箱:Lightbox(灯箱)库 —— Yet Another React Lightbox (YARL)

要添加 vercel analysis

如果是中文应用,字体资源要保证中国大陆能正常加载

状态与导航:遵从 Modals as Routes 模态框的开关、应用功能的选择等跟路由高度相关的“状态”,要充分利用软导航机制,交给 URL 来控制。而其他真正的 “全局状态”,使用 zustand。

​不同场景下的导航实现方式:

需求场景推荐方案理由
全应用级导航next/link + Layout利用内置的预渲染和代码分割,体验接近 SPA 但性能更优。
弹窗/抽屉/详情覆盖Parallel + Intercepting Routes解决“刷新即丢失状态”的痛点,同时保持 URL 同步。
实时筛选/仪表盘控制URL Params (Shallow Updates),用 nuqs 这个库保证交互的即时性,同时允许用户分享当前状态的链接。
极高频的局部 UI 切换React State (Client Component)避免任何网络开销,纯内存操作。

4. 避坑指南

  • 不要尝试在 App Router 中安装 react-router-dom。这会破坏 Next.js 的缓存机制(Router Cache)和服务器组件(RSC)的优势。
  • 善用 useTransition:在进行路由跳转或 Server Action 时,包裹在 startTransition 中,可以避免 UI 冻结,并允许用户在加载期间继续交互。
  • Layout 隔离:如果你希望导航时某个侧边栏不重新渲染,请确保它放在 layout.tsx 而非 page.tsx 中。 结论: 最好的方案是**“以 URL 为驱动的平行/拦截路由”**。它既保留了 SPA 的流畅感(Client-side Transition),又利用了 Next.js 的服务端能力,是目前处理复杂交互应用的最优解。

国际化

用 next-intl 做国际化,效果:

  1. URL 驱动,不进行自动重定向,由用户自主选择,页面 header 要有Language Switcher,
  2. 一旦用户选定了语言,要能持久化记忆。
  3. 要做软提醒:如果通过 JavaScript 的 navigator.language 检测到用户语言与当前页面不符,在顶部弹出一个小横幅(Banner),询问用户是否切换,如果用户关掉横幅,则继续停留,不再干扰。
  4. 要有静态SEO优化,在 HTML 头部设置 <link rel="alternate" hreflang="x" href="...">,告诉搜索引擎你支持多语言。

pwa 化

  1. 要有安装引导 (Promotion):不要等待浏览器弹出安装提示。监听 beforeinstallprompt 事件,在设置界面提供“安装应用”的按钮。

相关内容

  • pve 虚拟化

    pve 虚拟化

    更新于2026-04-30

  • 一个媒体查看器

    一个媒体查看器

    更新于2026-04-30

  • 第一次压网线

    第一次压网线

    更新于2026-04-29

  • Next.js 的中文编码问题

    Next.js 的中文编码问题

    创建于2026-04-28

  • 花野猫独立开发作品集网站

    花野猫独立开发作品集网站

    更新于2026-04-25

文章大纲

  • 技术栈
    • 4. 避坑指南
  • 国际化
  • pwa 化

选项
文章 ID: 507

相关内容

  • pve 虚拟化

    pve 虚拟化

    更新于2026-04-30

  • 一个媒体查看器

    一个媒体查看器

    更新于2026-04-30

  • 第一次压网线

    第一次压网线

    更新于2026-04-29

  • Next.js 的中文编码问题

    Next.js 的中文编码问题

    创建于2026-04-28

  • 花野猫独立开发作品集网站

    花野猫独立开发作品集网站

    更新于2026-04-25

dors logoDors

Dors 是花野猫开发为知识工作者打造的数字花园应用,包含的博客、个人记事本、及其他实用功能。

花园

  • 花坛——博客
  • 果园——知识库

工坊——作者开发的实用工具

  • 小记
  • 秒切——一键按秒分割视频
  • 中国重点高校地理位置可视化网站
  • 中国行政区划数据查询平台
  • excel 重命名工具

misc

  • 生活章程
  • 画廊
  • just have fun!

© 2022 - present. All Rights Reserved.滇ICP备2025063395号-1

花野猫打造