使用Plates

时间:2015-08-12 14:40:47

标签: javascript node.js html5 templates

我想在服务器端构建我的html代码。

要做到这一点,我正在使用Plates这是一个模板化的JavaScript库 我试图让这段代码工作,但它只是不修改原始的html模板代码......

var Plates = require("plates")

var html    = "<h1>Template test with plates</h1>"
            + "<p my-content>This should be erased...</p>";

var data = { 'my-content': "It is: "+new Date() };

console.log(Plates.bind(html, data));

这应该输出日期而不是默认字符串,但它不会......

我也尝试过使用mapper但是没有成功地使用nether:

var Plates = require("plates")

var html    = "<h1>Template test with transparency</h1>"
            + "<p my-content>This should be erased...</p>";

var data = { 'content': "It is: -> "+new Date() };

var map = Plates.Map();
map.where('my-content').use('content');

console.log(Plates.bind(html, data, map));

我工作的唯一代码示例如下:

var Plates = require("plates")

var html    = "<h1>Template test with transparency</h1>"
            + "<p my-content='changeable'>This should be erased...</p>";

var data = { 'content': "It is: -> "+new Date() };

var map = Plates.Map();
map.where('my-content').is("changeable").use('content');

console.log(Plates.bind(html, data, map));

但我不需要my-content='changeable'标记,我只需要my-content标记...

有人可以帮助我吗?

我也接受其他nodejs模板库建议,这些建议可以像这样工作(如果这解决了我的问题)......

1 个答案:

答案 0 :(得分:0)

您的代码无效,因为您使用my-content作为属性。

您需要使用id属性,并将其更改为<p id="my-content">以使bind()生效。

e.g。

var Plates = require("plates")

var html    = '<h1>Template test with plates</h1>'
            + '<p id="my-content">This should be erased...</p>';

var data = { 'my-content': "It is: "+new Date() };

console.log(Plates.bind(html, data));