全栈NodeJS框架?

时间:2014-03-16 05:37:49

标签: node.js server-side

是否存在类似于Ruby on Rails或PHP的全栈,基于NodeJS的框架,它在服务器端呈现模板?

基本上,我想开发一个可由Google(非SPA)转录的网站。我希望能够在每个页面上包含常见的页眉和页脚文件。我基本上想要使用NodeJS执行以下操作:

的index.html:

<?php include 'header.php'; ?>

<h1>This is the home page</h1>
<p>Here is some content.</p>

<?php include 'footer.php'; ?>

我不会在此网站上使用RESTful API(或任何API)。它基本上是一个简单的静态网站,它使用NodeJS作为服务器端组件。

3 个答案:

答案 0 :(得分:2)

我建议docpad是您目前寻找的最佳解决方案。它允许您设置一组模板,内容和样式,为您生成静态网站。

您可以根据插件系统选择要使用的模板引擎。该教程(我最近跟进)很容易解释如何做你想做的事情。本教程使用eco模板引擎。现在我对eco一无所知,并且能够毫不费力地遵循并找出我自己的一些棘手要求。

如果你走这条路,那么我也建议使用partial plugin,这对于将位插入其他位非常好。

开始here了解如何使用。它将向您介绍使用它时可能需要知道的所有内容。

我还建议按照这些instructions安装node.js.

答案 1 :(得分:1)

如果您有使用Backbone.js的经验,Rendr.js会显示出一些承诺。

答案 2 :(得分:0)

最好的办法是使用Express http://expressjs.com/之类的简单框架,以及像Handlebars这样的简单模板引擎。

此模块是您需要添加到项目中的模块:

https://github.com/ericf/express-handlebars

对此的自述是非常好的,并且有一些完整的工作示例显示了您的两个选项:

  1. 使用全局布局文件(这将包含页眉和页脚)。
  2. 使用partials - 类似于上面的php示例
  3. 请记住,默认节点世界是进行服务器端渲染,与PHP相同,但在JS中。像rendr这样的框架真的试图做一些更复杂的事情,并在服务器和客户端之间共享渲染 - 如果你只是建立一个简单的网站,你就不需要这样做。

    祝你好运。