当前位置: 首页 > 后端技术 > Node.js

Express文档(使用模板引擎)

时间:2023-04-03 10:17:43 Node.js

使用模板引擎模板引擎允许您在应用程序中使用静态模板文件。在运行时,模板引擎将模板文件中的变量替换为实际值,并将模板转换为发送给Client-sideHTML文件,这种方式使得设计HTML页面变得更加容易。与Express一起使用的一些流行的模板引擎是Pug、Mustache和EJS。ExpressApplicationBuilder默认使用Jade,但它也支持其他几种。请参阅模板引擎(Expresswiki)以获取可与Express一起使用的模板引擎列表,另请参阅比较JavaScript模板引擎:Jade、Mustache、Dust等。注意:Jade已重命名为Pug,您可以继续使用Jade在您的应用程序中运行良好,但是,如果您想要模板引擎的最新更新,则必须在您的应用程序中将Jade替换为Pug。渲染模板文件,设置如下应用设置属性,在生成器创建的默认appapp.js中设置:views,模板文件所在目录,eg:app.set('views','./views'),默认为应用程序根目录中的views目录。viewengine,使用的模板引擎,比如使用Pug模板引擎:app.set('viewengine','pug')。然后安装相应的模板引擎npm包,比如安装Pug:$npminstallpug--saveExpress兼容的模板引擎(比如Jade和Pug)导出一个名为__express(filePath,options,callback)的函数,这个函数由res.render()函数调用以呈现模板代码。一些模板引擎不遵循此约定,Consolidate.js库遵循此约定,它映射所有流行的Node.js模板引擎,因此它可以在Express中无缝工作。设置视图引擎后,您不必在应用程序中指定引擎或加载模板引擎模块,Express会在内部加载模块,如下所示(对于上面的示例)。app.set('viewengine','pug')在vi??ews目录下创建一个名为index.pug的Pug模板文件,内容如下:htmlheadtitle=titlebodyh1=message然后创建一个路由来渲染index.pug文件,如果未设置视图引擎属性,则必须指定视图文件的扩展名,否则可以省略。app.get('/',function(req,res){res.render('index',{title:'Hey',message:'Hellothere!'})})当你向首页发起请求时,index.pug文件将呈现为HTML。注意:视图引擎缓存不缓存模板输出的内容,只缓存底层模板本身,即使缓存打开,视图仍然会在每次请求时重新渲染。要了解有关模板引擎如何在Express中工作的更多信息,请参阅:“为Express开发模板引擎”。上一篇:使用中间件下一篇:错误处理