看下面这段代码:
server.engine(
'html',
ngExpressEngine({
bootstrap: AppServerModule,
})
);
app.engine(ext, callback)
将给定的模板引擎回调注册为 ext。
默认情况下,Express 将根据文件扩展名 require() 引擎。 例如,如果您尝试渲染“foo.pug”文件,Express 会在内部调用以下内容,并在后续调用中缓存 require() 以提高性能。
app.engine('pug', require('pug').__express)
对于不提供 .__express 开箱即用的引擎,或者如果您希望将不同的扩展“映射”到模板引擎,请使用此方法。
例如,要将 EJS 模板引擎映射到“.html”文件:
app.engine('html', require('ejs').renderFile)
在这种情况下,EJS 提供了一个 .renderFile() 方法,其签名与 Express 期望的相同:(path, options, callback),但请注意,它在内部将此方法别名为 ejs.__express,因此如果您使用的是“.ejs” 扩展你不需要做任何事情。
某些模板引擎不遵循此约定。 consolidate.js 库映射 Node 模板引擎以遵循此约定,因此它们可以与 Express 无缝协作。
因此本文开头的代码,语义是使用 ngExpressEngine 来渲染 html 文件。
import { ngExpressEngine as engine } from '@nguniversal/express-engine';
更多Jerry的原创文章,尽在:"汪子熙":
网友评论