如何使用 node.js 读取动态 html 文件(模板引擎)

How to read dynamic html file(template engine) using node.js

所以有两种情况:

  1. 我已经创建了一个模板引擎(.ejs 文件)并且我能够将它呈现给浏览器。

    app.get('/htmlTemplate', (req, res) => {
       res.render('banner', { qs: req.query }) 
    });
    
  2. 我有一个静态 html 文件,我可以使用节点 js 读取它

app.set('view engine', 'ejs');

app.get('/staticHTML', (req, res) => {
    fs.readFile("views/banner.html", 'UTF-8', function (error, pgResp) {
        console.log(pgResp);
        resp.end();
    });
});

但现在我的问题是我需要混合使用这两种情况而不是渲染 .ejs 文件,我想要 read/fetch 它与动态值一起存储在一个变量中,这样我可以将该动态 html 文件传递​​给另一个 api.

所以我想要这样的东西:

app.set('view engine', 'ejs');

app.get('/htmlTemplate', (req, res) => {
  fs.readFile('banner', { qs: req.query }, 'UTF-8', function (error, pgResp){
    console.log(pgResp);
  });
});

可以吗?如果是,那我该如何实现呢?

使用ejs.renderFile:

ejs.renderFile(__dirname + "/../...path...",{key: value}, function (err, str) {
    // str => Rendered HTML string
    console.log("html: ", str);
});