art-template模板引擎渲染html标签(替换html)

 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}}。

这是我们再次访问。发现

达到了我们预期的结果。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值