1. 程式人生 > >art-template模板引擎渲染html標籤(替換html)

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

這是我們再次訪問。發現

達到了我們預期的結果。