为我的Service Worker构建一个应用程序外壳,以便使用车把进行缓存

时间:2019-05-28 12:04:54

标签: node.js express service-worker progressive-web-apps express-handlebars

我正在使用快速车把构建PWA。我正在尝试遵循Google的设计规范并构建应用程序外壳程序,以便与服务工作者进行缓存。但是,由于Handlebars是生成html的模板引擎,因此我感到有些困惑。有没有更好的方法来构建带有Express的应用程序外壳,以供服务人员缓存?例子将不胜感激。

1 个答案:

答案 0 :(得分:0)

“是否有更好的方法”取决于项目中的许多变量,实际上没有答案。

至少在我看来,这里更重要的是了解应用程序外壳程序的基本概念。当您抱怨时,您将能够调整变量并自由选择合适的技术。如果适合您的应用程序,则使用Handlebars生成HTML是完全可以的。 HTML对于浏览器来说是快速渲染的功能(相对于JS来说很繁重),因此它完全符合Shell的想法。

有了应用程序外壳,您的应用程序将以不经常变化的静态(ish)布局(菜单,页眉,页脚等)和动态部分构成。通过这种分离,应用程序外壳程序想法可以通过以下方式使用Service Worker:

  1. 服务器附带应用程序外壳程序(通常仅HTML / CSS)
  2. 浏览器可以非常快速地渲染并通过Service Worker对其进行缓存以供脱机使用
  3. 显示完外壳后,JS接管并开始获取动态内容(外壳内显示的内容)
  4. 浏览器通常使用一些JS框架来呈现动态部分

这些单独的零件可能非常松散地耦合在一起。您可以使用任何想要创建应用程序外壳的方式,也可以使用与动态部件完全不同的方式。或者,您可以使用相同的前端框架来实现它们。从应用程序外壳体系结构的角度来看,这并不重要。关键是,该外壳应该是超快速可用的,当仅交付HTML / CSS时,您将更容易实现。