亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

characters

一個模板引擎使您能夠在您的應(yīng)用程序中使用靜態(tài)模板文件。在運行時,模板引擎用實際值替換模板文件中的變量,并將模板轉(zhuǎn)換為發(fā)送給客戶端的HTML文件。這種方法使設(shè)計HTML頁面變得更加容易。

與Express一起使用的一些流行的模板引擎是Pug, Mustache和EJS。Express應(yīng)用程序生成器使用Jade作為默認設(shè)置,但它也支持其他幾種。

請參閱模板引擎(Express wiki)以獲取可用于Express的模板引擎列表。另請參閱比較JavaScript模板引擎:Jade,Mustache,Dust等。

注意:Jade已更名為Pug。你可以繼續(xù)在你的應(yīng)用中使用Jade,它會工作得很好。但是,如果你想要模板引擎的最新更新,你必須在你的應(yīng)用中用Pug代替Jade。

要呈現(xiàn)模板文件,請設(shè)置以下應(yīng)用程序設(shè)置屬性,并在app.js由生成器創(chuàng)建的默認應(yīng)用程序中設(shè)置:

  • views,模板文件所在的目錄。例如:app.set('views', './views')。這默認為views應(yīng)用程序根目錄中的目錄。

  • view engine,要使用的模板引擎。例如,要使用Pug模板引擎:app.set('view engine', 'pug')

然后安裝相應(yīng)的模板引擎npm包; 例如安裝Pug:

$ npm install pug --save

符合Express的模板引擎(如Jade和Pug)會導(dǎo)出名為的函數(shù)__express(filePath, options, callback),res.render()函數(shù)將被函數(shù)調(diào)用以呈現(xiàn)模板代碼。

一些模板引擎不遵循這個約定。該Consolidate.js通過映射所有流行的Node.js的模板引擎庫遵循此慣例,因此,無其他快捷方式。

在設(shè)置視圖引擎后,您不必在應(yīng)用程序中指定引擎或加載模板引擎模塊; Express在內(nèi)部加載模塊,如下所示(針對上述示例)。

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

創(chuàng)建一個名為Pug模板文件index.pugviews目錄,具有以下內(nèi)容:

html
  head
    title= title
  body
    h1= message

然后創(chuàng)建一個路徑來渲染index.pug文件。如果該view engine屬性未設(shè)置,則必須指定view文件的擴展名。否則,你可以省略它。

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

當您向主頁發(fā)出請求時,該index.pug文件將呈現(xiàn)為HTML。

注意:視圖引擎緩存不緩存模板輸出的內(nèi)容,只緩存底層模板本身。即使緩存打開,視圖仍然會在每次請求時重新呈現(xiàn)。

要詳細了解模板引擎如何在Express中工作,請參閱:“開發(fā)用于Express的模板引擎”。

Previous article: Next article: