📜  Express.js app.engine()函数

📅  最后修改于: 2022-05-13 01:56:51.487000             🧑  作者: Mango

Express.js app.engine()函数

app.engine()函数用于将给定的模板引擎回调注册为 ext。默认情况下,Express 本身将根据文件扩展名 require() 引擎。

句法:

app.engine(ext, callback)

参数: ext参数是ejs、hbs等扩展类型,callback是作为参数传递的函数。

返回值:它返回对象。

express模块的安装:

  1. 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
    npm install express
  2. 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
    npm version express
  3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
    node index.js
  4. 创建一个views文件夹并将home.html文件放入其中,代码如下:

    示例 1:
    文件名:home.html

    
    
      app.engine() Demo
    
    
        

    EJS Engine

例如,要将 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. 确保您已使用以下命令安装expressejs模块:
    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



  app.engine() Demo


    

Handlebars Engine

文件名: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. 确保您已使用以下命令安装expresshbs模块:
    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