我是Node.js的新手并且正在努力学习。根据我的理解,使用模板引擎(例如Jade)是常见的,即使对于CSS(例如,Stylus)也是如此。说实话,我在那里看到的所有教程都涉及到布局时的模板引擎。
问题是我不想使用模板引擎,因为我觉得它不必要地复杂。
Here是指向Node的样板的链接(遗憾的是它由于某种原因不起作用),但是选项1不应该使用任何模板引擎进行布局。
那么,将Node.js和Mongodb与“普通”HTML(5)结合起来的最简单方法是什么?例如,可以使用带节点的HMTL5 Boilerplate吗?
答案 0 :(得分:9)
如果您使用静态html,那么您不需要在服务器端进行模板化。 您可以使用Express/Connect static middleware轻松提供html文件,例如:
app.use(express.static(__dirname + '/public'));
然后将index.html
放到您的公用文件夹中。
此外,我认为您可以将整个h5bp复制并粘贴到您的公共文件夹中,它应该可以正常工作。
答案 1 :(得分:4)
以下是我对此的看法。
如果您只提供静态 html,很明显您不需要任何模板引擎,因为您只需在响应中缓冲html,或使用Connect静态中间件。
但是,当您必须处理动态内容时,事情会变得有趣。
这是模板引擎擅长的地方,因为它们提供了将数据与html集成的方法。如果要替换模板引擎,则需要一个可以执行HTML和DOM操作的库。我可以想到两个选择:
在我看来,两者都非常整洁,是摆脱模板的一个很好的起点:) 可能还有其他人我不知道,但你明白了。
答案 2 :(得分:3)
使用express,您只需在响应中发送html5:
app.get('/', function(req, res){
res.send('<header>Hello World</header>');
});
但是,我想说在大多数情况下,模板引擎不会增加复杂性。如果要渲染动态内容,关注点的分离会使事情变得更简单。
答案 3 :(得分:2)
第一次回答我自己的问题。我只是想分享一下,我发现了一个从html到jade(模板引擎)的转换器。这绝对是一件好事,至少对我而言,即使它仍然涉及模板引擎,也会消除很多复杂性。