ai didi

javascript - 渲染 EJS 模板并将其保存为文件

转载 作者:数据小太阳 更新时间:2023-10-29 06:10:18 24 4
gpt4 key购买 nike

我一直在为此苦思冥想,我正在尝试渲染一个 EJS 文件并将结果保存为 HTML,保存部分似乎可以正常工作,但我无法全面了解如何返回数据来自"template"文件。

var fileName = 'public/cv/' + userID + '_default.html';
var stream = fs.createWriteStream(fileName);
function buildHtml(request) {

var sveducations = JSON.parse(SQReducations);
var header = '';

return '<!DOCTYPE html>'
+ '<html><header>' + header + '</header><body>' +
html
+
'</body></html>';
};
stream.once('open', function (fd) {
var html = buildHtml();
stream.end(html);
});

最佳答案

这是保存从 ejs 渲染的 html 字符串的最简单方法。

var ejs  = require('ejs');
var fs = require('fs');
var data = {} // put your data here.

var template = fs.readFileSync('./template.ejs', 'utf-8');
var html = ejs.render ( template , data );

fs.writeFileSync("./html.html", html, 'utf8');

如果要从JSON文件中读取数据

var data = JSON.parse(fs.readFileSync('./data.json', 'utf8'));

8/12 编辑

使用 try catch 获取错误信息。

var ejs  = require('ejs');
var fs = require('fs');
var data = {} // put your data here.

try {
var template = fs.readFileSync('./template.ejs', 'utf-8');
var html = ejs.render ( template , data );

fs.writeFileSync("./result.html", html, 'utf8');

}catch (e){
console.log(e) // If any error is thrown, you can see the message.
}

关于javascript - 渲染 EJS 模板并将其保存为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38890752/

24 4 0
文章推荐: javascript - 有什么方法可以评论或更好地组织 bower.json 文件吗?
文章推荐: session - heroku 上的 Redis session 存储
文章推荐: mysql - 将持久对象委托(delegate)给 Redis,使用 MySQL 回退
文章推荐: javascript - 禁用 Jest setTimeout 模拟
数据小太阳
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com