如何使用 node.js 读取动态 html 文件(模板引擎)
How to read dynamic html file(template engine) using node.js
所以有两种情况:
我已经创建了一个模板引擎(.ejs 文件)并且我能够将它呈现给浏览器。
app.get('/htmlTemplate', (req, res) => {
res.render('banner', { qs: req.query })
});
我有一个静态 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);
});
所以有两种情况:
我已经创建了一个模板引擎(.ejs 文件)并且我能够将它呈现给浏览器。
app.get('/htmlTemplate', (req, res) => { res.render('banner', { qs: req.query }) });
我有一个静态 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);
});