Node中的art-template模板引擎,渲染html标签(替换html)
我们在使用art-template模板引擎时,如果想用html标签,来渲染内容的话,会遇到一个问题
例如,现在有 app.js使用模板引擎 渲染 index.html
app.js
var template = require('art-template');
var fs = require('fs');
var http = require('http');
var server = http.createServer().listen(8888, function () {
console.log('Server star ....');
});
var html = `<h1>
这是一个h1标签
</h1>
<h2>
这是一个h2标签
</h2>`;
server.on('request', function (req, res) {
var url = req.url;
if (url === '/') {
fs.readFile('./index.html', function (err, data) {
if (err) {
return console.log('读取文件失败了')
}
var ret = template.render(data.toString(), {
html: html
});
res.end(ret);
})
} else {
res.end('404');
}
});
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>art-template模板引擎</title>
</head>
<body>
{{html}}
</body>
</html>
运行app.js,访问,我们发现
是这样,并没有达到我们想要的结果(html标签被转换成标签)
解决方法:
将index.html中的模板引擎标记语言 {{html}} 改为 {{#html}},就可以了。
ps:新版 art-template可使用{{@html}}。
这是我们再次访问。发现
达到了我们预期的结果。
更多推荐
art-template模板引擎渲染html标签(替换html)
发布评论