【发布时间】:2012-11-26 17:54:45
【问题描述】:
这是一个多部分的问题,我是 Node 的新手,所以请温柔:)
我有一个非常简单的 Node/express 应用程序设置返回 index.html 而不使用路由...
var app = express();
var port = process.env.PORT || 1337;
app.use('/i', express.static(__dirname + '/i'));
app.use('/Stylesheets', express.static(__dirname + '/Stylesheets'));
app.use(express.static(__dirname));
app.listen(port);
console.log('listening on port ' + port);
index.html 作为静态文件提供。
我的下一个工作是开始返回一些具有正确路由的页面,我已经完成了我需要将我的路由放在 routes.js 文件中并在我的 server.js 文件中“要求”该文件但是我无法设置路线,而且我在网上看到的每个示例/演示似乎都以不同的方式进行。任何有关如何做到这一点的明确示例都将不胜感激。
问题的下一部分是我想包含动态页面,但不知道模板引擎在哪里。我想使用一些“不引人注目”的东西,这样我的原始 HTML 文件在浏览器中查看时仍然有意义。
在前端,我只需先使用选择器将 HTML 注入页面,然后使用 .html() 方法更改 html,我可以将 JSON 数据与模板绑定,然后将其注入右侧通过查找类名等来放置。这将完全不引人注目,并且不需要任何丑陋的 {} 括号、内联 javascript 或指令。伪代码...
var data = {"name":"John"};
var result = templateEngine.bind("/template.html", data)
$('.person').html(result);
这样,我可以像这样保持原始 HTML 的整洁和可见性...
<div class="person">
My Name is FirstName
</div>
我能找到的最接近的东西是 PURE - http://beebole.com/pure - 但我不确定如何让它与 NODE 一起工作(或者即使它兼容)。
为了增加复杂性,我使用的任何模板引擎都需要能够使用子模板(部分?),以便我可以包含每个页面上相同的页眉/页脚等。我假设这可以通过在需要的每个主模板中引用子模板来递归完成?
如果您仍在阅读本文,那么很明显,您会发现我在使用新技术时遇到了困难,我们将不胜感激任何帮助!
【问题讨论】:
标签: javascript node.js express templating-engine