【问题标题】:Rendering templates using backbone and Express使用主干和 Express 渲染模板
【发布时间】:2014-05-06 15:07:01
【问题描述】:

我目前正在从事网络开发方面的项目。在过去的几个月里,我一直在试图弄清楚所有的部分,并且取得了很好的进展。

我在前端使用 bootstrap 和 Backbone,这是我最近一直关注的。这部分适用于所有 Backbone 视图都可以正常渲染。

对于后端,我将使用 Nodejs 和 express。上周我开始研究它。目前,我正在尝试通过 express 处理发送到服务器的请求。

如何处理请求并发送回已经定义了 HTML 页面和所有内容的 Backbone 视图。

我遇到了 Jade,它经常与 express 一起使用,但我无法让它与我的主干视图一起使用。此外,下划线是如何出现的。我必须在下划线和 Jade 之间做出选择吗?

我当然会进一步从数据库中提取数据并发送到主干视图。

感谢您的任何意见。

【问题讨论】:

    标签: javascript node.js backbone.js express underscore.js


    【解决方案1】:

    Underscore(_.template 方法)和 Jade 都可以从模板文件中渲染 html 代码,这些代码将通过 express 发送给客户端。由于下划线不是表达友好的,我的猜测是,如果您使用下划线和在客户端完成的主干渲染模板,您会混淆客户端库(由浏览器上的主干使用)和 nodeJS 的服务器库用户来响应请求调用和快递无关。

    这篇文章应该可以帮助您进行所有设置:http://coenraets.org/blog/2012/10/nodecellar-sample-application-with-backbone-js-twitter-bootstrap-node-js-express-and-mongodb/,它有源代码供您查看。

    由于我的猜测是您想要快速运行的东西,我建议您使用像sails.js 这样的东西,它可以为您节省大量时间来配置 express 并使其正常工作。另外,sails.js 建立在 express 之上。 https://github.com/balderdashy/sails/

    【讨论】:

    • 感谢您的回答。今晚晚些时候我将研究风帆。您提到的酒窖应用程序实际上是我一开始就开始并建立在它之上的。所以我也有带有下划线模板的 HTML/视图。但正如该页面所述,这些都是由客户端呈现的。现在我不确定这是否应该继续。我能够将 HTML 视图转换为 Jade 视图,但我不确定是否值得在服务器上重做所有这些操作。
    • 除非您希望服务器端代码更改 index.html,否则无需将任何内容转换为翡翠模板。 Backbone 应该从 index.html 文件中加载,并且 express 应该回答对公共文件夹中文件的每个请求。
    • 你会怎么做呢?我的索引页只是页眉和页脚。内容根据需要填充,它还具有启动应用程序的所有依赖项。这是一个单页应用程序。如何快速加载公用文件夹中的任何 HTML 文件?如果没有在此之前以某种方式加载索引,我就无法让它工作,因为它会初始化所有其余的 js 文件。再次感谢您的回答。高度赞赏。
    • 我不确定我是否理解您的问题。我的观点是您不需要将任何东西转换为 Jade,因为 Jade 用于服务器端并且仅提供静态 index.html 将启动您的应用程序。注意:对不起,我刚刚看到这个迟到的答案! :$
    • 再次感谢您的评论。我的设置和你说的完全一样。我想我需要根据请求的 URL 以某种方式提供每个 html 文件。但是,似乎只要提供 index.html 文件,任何路径都可以工作(例如 /about 或 /profile)。这是预期/合理的行为吗?再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多