为我的 Service Worker 构建应用程序 Shell 以使用 Handlebars 进行缓存
Building an App Shell For My Service Worker to cache using Handlebars
我正在使用 express-handlebars 构建 PWA。我正在尝试遵循 Google 设计实践并构建一个应用程序 shell 以便与服务工作者进行缓存。但是,我有点难过,因为 Handlebars 是一个生成 html 的模板引擎。有没有更好的方法来构建一个应用程序 shell with express for service worker caching?示例将不胜感激。
"Is there a better way" 取决于您项目中的许多变量,而且确实没有答案。
这里更重要的是了解应用程序的基本概念 shell,至少在我看来是这样。当你明白这一点时,你将能够调整你的变量并自由选择合适的技术。如果适合您的应用,使用 Handlebars 生成 HTML 完全没问题。 HTML 浏览器渲染速度很快(相对于 JS 繁重的东西)所以它完全符合 shell 的想法。
使用应用程序 shell,您的应用程序的结构不会经常变化,静态(左右)布局(菜单、页眉、页脚等)和动态部分。通过这种分离,应用 shell idea 可以这样使用 Service Worker:
- 服务器运送应用 shell(通常只有 HTML/CSS)
- 浏览器非常快速地呈现并缓存它以供通过 Service Worker 离线使用
- 显示shell后,JS接管并开始获取动态内容(显示的是"inside"shell)
- 浏览器使用一些 JS 框架渲染动态部分(通常)
这些独立的部分可能非常 loosely-coupled。您可以使用任何您想要创建应用程序的方式 shell 和动态部分完全不同的东西。或者,您可以使用相同的 front-end 框架来实现它们。从应用 shell 架构的角度来看,这并不重要。关键是,shell 应该是可用的 super-fast,当你只运送 HTML/CSS.
时,你会更容易地实现它
我正在使用 express-handlebars 构建 PWA。我正在尝试遵循 Google 设计实践并构建一个应用程序 shell 以便与服务工作者进行缓存。但是,我有点难过,因为 Handlebars 是一个生成 html 的模板引擎。有没有更好的方法来构建一个应用程序 shell with express for service worker caching?示例将不胜感激。
"Is there a better way" 取决于您项目中的许多变量,而且确实没有答案。
这里更重要的是了解应用程序的基本概念 shell,至少在我看来是这样。当你明白这一点时,你将能够调整你的变量并自由选择合适的技术。如果适合您的应用,使用 Handlebars 生成 HTML 完全没问题。 HTML 浏览器渲染速度很快(相对于 JS 繁重的东西)所以它完全符合 shell 的想法。
使用应用程序 shell,您的应用程序的结构不会经常变化,静态(左右)布局(菜单、页眉、页脚等)和动态部分。通过这种分离,应用 shell idea 可以这样使用 Service Worker:
- 服务器运送应用 shell(通常只有 HTML/CSS)
- 浏览器非常快速地呈现并缓存它以供通过 Service Worker 离线使用
- 显示shell后,JS接管并开始获取动态内容(显示的是"inside"shell)
- 浏览器使用一些 JS 框架渲染动态部分(通常)
这些独立的部分可能非常 loosely-coupled。您可以使用任何您想要创建应用程序的方式 shell 和动态部分完全不同的东西。或者,您可以使用相同的 front-end 框架来实现它们。从应用 shell 架构的角度来看,这并不重要。关键是,shell 应该是可用的 super-fast,当你只运送 HTML/CSS.
时,你会更容易地实现它