Angular服务端渲染应用开箱即用的缓存功能问题Correctresponseheaders。它们指定缓存生命周期和缓存策略。示例如下:Cache-Control:max-age=31536000该选项适用于非授权区域和存在长期不变数据的情况。InMemory缓存可用于应用程序本身内的渲染页面和API请求。这两个用例都是通过开发包@ngx-ssr/cache提供的。将NgxSsrCacheModule模块添加到AppModule以在浏览器中缓存API请求和服务器。maxSize属性负责最大缓存大小。值50表示缓存将包含超过50个来自应用程序的最后GET请求。maxAge属性负责缓存的生命周期。以毫秒为单位指定。使用代码如下:import{BrowserModule}from'@angular/platform-b??rowser';import{NgModule}from'@angular/core';import{AppComponent}from'./app.component';import{NgxSsrCacheModule}来自'@ngx-ssr/cache';从'../environments/environment'导入{环境};@NgModule({声明:[AppComponent],导入:[BrowserModule,NgxSsrCacheModule.configLruCache({maxAge:10*60_000,maxSize:50}),],bootstrap:[AppComponent],})exportclassAppModule{}例如,同一个包@ngx-ssr/cache中的所有内容都有一个子模块@ngx-ssr/cache/express。它导入了一个withCache函数。这个函数是渲染引擎的包装器。使用方法如下:import{ngExpressEngine}from'@nguniversal/express-engine';import{LRUCache}from'@ngx-ssr/cache';import{withCache}from'@ngx-ssr/cache/express';服务器。engine('html',withCache(newLRUCache({maxAge:10*60_000,maxSize:100}),ngExpressEngine({bootstrap:AppServerModule,})));虽然可以从服务器呈现静态网站,但有很多方法可以做到这一点,包括代码重复和缺乏灵活性——尤其是从数据库读取数据时。幸运的是,Express.js提供了一种通过模板引擎从服务器端应用程序创建动态HTML页面的方法。模板引擎以一种相当简单的方式工作:创建一个模板,然后使用适当的语法将变量传递给它。然后,在呈现的模板中的适当路径处,将值分配给模板文件中声明的变量。这些是在呈现模板时即时编译的。模板引擎的一个基本特征是它们允许我们创建称为部件的可重用组件,这些部件可以在其他文件中重用。这有助于防止代码重复并使更改更易于实施。有多种模板引擎可以与Express一起使用。Express中的默认模板引擎是Jade,现在称为Pug。但是Express中默认安装的Jade仍然使用旧版本。
