Express 文档(运用模板引擎)

运用模板引擎

模板引擎使你能够在运用程序中运用静态模板文件,在运行时,模板引擎用现实值替代模板文件中的变量,并将模板转换为发送到客户端的HTML文件,这类要领能够更轻松地设想HTML页面。

一些与Express一同运用的盛行模板引擎是PugMustacheEJSExpress运用程序生成器运用Jade作为其默许值,但它也支撑其他几个。

有关可与Express一同运用的模板引擎列表,请参阅模板引擎(Express wiki),另请参阅比较JavaScript模板引擎:Jade、Moustache、Dust等

注重:Jade已更名为
Pug,你能够继承在你的运用中运用Jade,它能够一般事情,然则,假如你想要模板引擎的最新更新,则必需在运用程序中将Jade替代为Pug。

要衬着模板文件,请设置以下运用程序设置属性,在由生成器建立的默许运用程序app.js中设置:

  • views,模板文件地点的目次,比方:app.set('views', './views'),默许为运用程序根目次中的views目次。
  • view engine,运用的模板引擎,比方,要运用Pug模板引擎:app.set('view engine', 'pug')

然后装置响应的模板引擎npm包,比方装置Pug:

$ npm install pug --save

兼容Express的模板引擎(如Jade和Pug)导出名为
__express(filePath, options, callback)的函数,该函数由
res.render()函数调用以衬着模板代码。

某些模板引擎不遵照此商定,Consolidate.js库遵照此商定,映照一切盛行的Node.js模板引擎,因而能够在Express中无缝事情。

设置视图引擎后,你没必要在运用程序中指定引擎或加载模板引擎模块,Express在内部加载模块,以下所示(关于上面的示例)。

app.set('view engine', 'pug')

views目次中建立一个名为index.pug的Pug模板文件,个中包括以下内容:

html
  head
    title= title
  body
    h1= message

然后建立一个路由来衬着index.pug文件,假如未设置view engine属性,则必需指定视图文件的扩展名,不然,你能够省略它。

app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!' })
})

当你向主页发出要求时,index.pug文件将衬着为HTML。

注重:视图引擎缓存不会缓存模板输出的内容,只缓存底层模板自身,纵然缓存已翻开,仍会每一个要求从新衬着视图。

要相识有关模板引擎如安在Express中事情的更多信息,请参阅:“为Express开辟模板引擎”。

上一篇:运用中间件

下一篇:错误处理

    原文作者:博弈
    原文地址: https://segmentfault.com/a/1190000017538270
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞