當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Express.js app.engine()用法及代碼示例

app.engine()函數用於將給定的模板引擎回調注冊為ext。默認情況下,Express本身將基於文件擴展名require()引擎。

用法:

app.engine(ext, callback)

參數:ext參數是擴展類型,例如ejs,hbs等,而callback是作為參數傳遞的函數。

返回值:它返回對象。

快遞模塊的安裝:



  1. 您可以訪問安裝Express模塊​​的鏈接。您可以使用此命令安裝此軟件包。
    npm install express
  2. 安裝Express模塊​​後,可以使用命令在命令提示符下檢查Express版本。
    npm version express
  3. 之後,您可以僅創建一個文件夾並添加一個文件,例如index.js。要運行此文件,您需要運行以下命令。
    node index.js
  4. 創建一個views文件夾,並使用以下代碼將home.html文件放入其中:

    範例1:
    文件名:home.html

    <html> 
    <head> 
      <title>app.engine() Demo</title> 
    </head> 
    <body> 
        <h2>EJS Engine</h2> 
    </body> 
    </html>

例如,要將EJS模板引擎映射到“.html”文件:

app.engine('html', require('ejs').renderFile);

文件名:index.js

var express = require('express'); 
var app = express(); 
var PORT = 3000; 
  
app.engine('html', require('ejs').renderFile); 
    
app.get('/', function (req, res) { 
    res.render("home.html") 
}); 
  
app.listen(PORT, function(err){ 
    if (err) console.log(err); 
    console.log("Server listening on PORT", PORT); 
});

運行程序的步驟:

  1. 確保使用以下命令安裝了express和ejs模塊:
    npm install express
    npm install ejs
    
  2. 使用以下命令運行index.js文件:
    node index.js

    輸出:

    Server listening on PORT 3000
    
  3. 現在打開瀏覽器並轉到http://localhost:3000 /,您可以在瀏覽器中看到以下輸出:
    EJS Engine
    

範例2: 文件名:home.html

<html> 
<head> 
  <title>app.engine() Demo</title> 
</head> 
<body> 
    <h2>Handlebars Engine</h2> 
</body> 
</html>

文件名:index.js

var express = require('express'); 
var app = express(); 
var PORT = 3000; 
  
console.log(app.engine('html', require('hbs').renderFile)); 
    
app.get('/', function (req, res) { 
    res.render("home.html") 
}); 
  
app.listen(PORT, function(err){ 
    if (err) console.log(err); 
    console.log("Server listening on PORT", PORT); 
});

運行程序的步驟:

  1. 確保使用以下命令安裝了express和hbs模塊:
    npm install express
    npm install hbs
    
  2. 使用以下命令運行index.js文件:
    node index.js

    輸出:

    Server listening on PORT 3000
    
  3. 現在打開瀏覽器並轉到http://localhost:3000 /,您可以在瀏覽器中看到以下輸出:
    Handlebars Engine
    

參考: https://expressjs.com/en/4x/api.html#app.engine




相關用法


注:本文由純淨天空篩選整理自gouravhammad大神的英文原創作品 Express.js app.engine() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。