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

问题描述 投票:0回答:1

所以有两种情况:

  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文件,我想将其与动态值一起读取/提取并将其存储在变量中,以便可以传递该动态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);
  });
});

是否可以这样做?如果是,那我该如何实现呢?

node.js ejs readfile template-engine
1个回答
1
投票

使用ejs.renderFile:

ejs.renderFile(__dirname + "/../...path...",{key: value}, function (err, str) {
    // str => Rendered HTML string
    console.log("html: ", str);
});
© www.soinside.com 2019 - 2024. All rights reserved.