2014-08-28 48 views
0

我的问题在于,我想在nodejs服务器上编译html模板。我们想制作动态模板,在这里我们可以编译模板+使用JSON对象将数据插入到模板中。从nodejs上的模板编译html

我尝试使用节点的包“胡子”,我得到了我上面提到的。但是胡须的问题在于,HTML是用* .html文件的脚本标记写入的。为了编译,我必须将它作为文件流读入一个变量并使用它。我不想这样做,因为我以前曾与FS有过问题。

所以我的问题是,我可以在哪里可以设计完整的HTML模板,然后使用JSON对象中的数据编译它们的其他节点的模块。

回答

1

试用hogan-express。它基本上是moustach(javascript版本),它比默认的hjs模块在启动时表示安装更好。

您可以使用变量{{variableName}}

这个变量被设置在以下的(我假设你正在使用快递)

var value = "dynamicValue"; 

app.get('/', function(req, res) { 
    res.render('index.html', { 
     variableName: value 
    }); 
}); 

在模板后端将数据发送到模板,你只需调用{{VARIABLENAME}}

注意,这需要在你app.js

app.engine('html', require('hogan-express')); 

至于其他选项,你可以使用玉,ejs等...我个人更喜欢hogan

+0

这是一个非常可行的选择。我看到的唯一问题是,在文档中提到它是为Express 3.x开发的。我正在使用express 4.x进行开发,直到早上才能测试它,所以想问问有没有人用express 4.x来试用它? – 2014-08-28 19:05:12

+0

我正在使用4.2.0,它的效果很好 – 2014-08-28 20:10:09