来自 Rich Harris 的一份 19 分钟的、不冷不热、刚刚好的网站构建大餐。
我当然听到过不少关于单页面应用 (SPA) 与多页面应用 (MPA) 的争论。虽然我最近才听到有人给 MPA 加上首字母缩写,感觉有点奇怪。
我猜大多数人实际上都对构建网站时适合使用的架构持有适度的意见。但让开发者之间进行针锋相对的争论,并从双方提取最佳观点,还是很有趣的。
具有讽刺意味的是,随着行业的发展,选择 SPA 或 MPA 并不是一个非此即彼的选择。你可以在一个网站上同时使用两者的部分功能。虽然像 SvelteKit 和 Astro 这样的技术正在直接推动这一趋势(看起来 Next 12 和服务器端渲染组件 也在某种程度上是这一转变的一部分),但我相信很多网站已经通过将各种技术拼凑在一起,在多年的时间里实现了这一点。(我可能是在说 CodePen 上我自己的经历。)
我非常喜欢一些非常新潮的东西很棒,值得学习和利用,而一些旧的东西经受住了时间的考验,今天仍然像以往一样有用。
如果你对这个话题乐此不疲,Surma 和 Jake 也对此进行了探讨。
我创建了一个样板来在一个项目中同时支持两者,它在多个实际项目中运行良好
https://github.com/javadbat/hybrid-boilerplate#hybrid-boilerplate
你也可以使用它
Service Worker驱动的MPA是最佳选择!
PWA,但应该可以很好地与同步到SW的多个选项卡一起使用