2作者: tbocek大约 1 个月前原帖
我创建了 PrevelteKit,以解决我在现代 web 应用程序中遇到的架构权衡问题。 单页面应用(SPA)在前端和后端之间有着清晰的分离,但用户在 JavaScript 加载和渲染初始用户界面时,会看到一个白色的加载页面或旋转图标。Next.js/SvelteKit 解决了加载问题,但需要在前端基础设施中运行你的 JavaScript 堆栈。虽然像 Vercel 这样的服务隐藏了这种操作复杂性(而且做得相当不错),但你仍然将前端部署与服务器基础设施耦合,并为系统增加了另一个可移动的部分。 我想要的是一种折中的方案,像单页面应用一样有清晰的分离,但用户已经可以看到一些加载好的内容。 PrevelteKit 在构建时使用 jsdom 预渲染并水合你的 Svelte 组件,然后将其作为纯 HTML/CSS/JS 文件提供。在加载过程中,用户可以立即看到布局和静态内容,而动态内容则需要再进行一次请求。 主要特点: * 静态优先 - 前端在生产环境中不需要 JavaScript 运行时 * 极简主义 - 代码少于 500 行,仅为现有工具提供连接 * 快速构建 - 使用 Rsbuild 进行快速打包(使用 Rsbuild 时大约几百毫秒) * 可在任何地方部署 - 纯静态文件,无需服务器,可以部署在 GitHub Pages、S3 或任何 Web 服务器上 这个概念在我的项目中运行良好,我希望能得到对这种方法的反馈,以及其他人是否觉得这有用。