【问题标题】:how to mix views (html+css+js) between express.js (node.js) and backbone.js如何在express.js(node.js)和backbone.js之间混合视图(html + css + js)
【发布时间】:2012-05-14 11:09:18
【问题描述】:

我开始学习 Express.js(用于 Node.js)和 Backbone.js。我研究了很多文档和教程,但有些细节我还没有赶上,也没有相关的信息。我希望有人可以在这里提供帮助:

我最大的问题之一是观点。我了解您如何在您的骨干网 app.js 中构建您的 MVRC,在您的 Express.js 应用程序上构建您的 MVC,如何通过 JSON 在后端(快速)上持久化,实时使用 Socket.io 等等。但是,你如何设计VIEWS?

两个框架都提供了自己的视图,但很明显,如果您使用 Backbone.js,是因为您想在客户端(HTML、CSS、jQuery 和 JS)上使用 Backbone 构建视图,而不是使用快递(翡翠和模板)。而如果你使用 Express.js 是因为它提供了比 Node.js 更多的工具,比如身份验证、会话控制、数据库等。

你是怎么混合的?我在互联网上看到了一些例子,比如这本书(O'Reilly Media):

http://addyosmani.github.com/backbone-fundamentals/

具体来说,在他们的 github 源代码上与 TodoList 应用程序的“option7”相关。

在这里,他们混合了两种技术(Backbone.js 和 Express.js 与 MongoDB)。他们在客户端和服务器之间进行数据持久化、与 Redis 的连接等,但我仍然不明白为什么他们在 Express.js 上使用 Jade 和 /views 作为主要 HTML 模板,但 /public 中使用 CSS、jQuery 和图像在 Backbone.js 上。

我们不应该完全在 Backbone.js 中构建 HTML5、CSS3 和 JS 吗?如果您希望所有 MVC 都放在前端,那么通过 /ROUTES 从后端注入 HTML 模板有什么意义?

非常感谢,希望得到答复:-)

【问题讨论】:

    标签: model-view-controller view backbone.js express socket.io


    【解决方案1】:

    我最大的问题之一是观点。我了解您如何在您的骨干网 app.js 中构建您的 MVRC,在您的 Express.js 应用程序上构建您的 MVC,如何通过 JSON 在后端(快速)上持久化,实时使用 Socket.io 等等。但是,你是如何设计 VIEWS 的?

    Express.js 中的视图是模板,可以通过 HTTP 渲染并返回给客户端/浏览器。

    你是怎么混合起来的?

    您有一个客户端和一个服务器端,不确定您将它们混合在一起是什么意思。如果您的浏览器需要数据,您可以向服务器发出请求。

    我们不应该完全在 Backbone.js 中构建 HTML5、CSS3 和 JS 吗?

    大多数时候你会。

    如果您希望所有 MVC 都放在前端,那么通过 /ROUTES 从后端注入 HTML 模板有什么意义?

    这主要是为了加快网页速度,这样您就不必重新渲染整个页面而只需重新渲染一部分。

    【讨论】:

    • ,感谢您的回答。当我写到“mix it up”时,我指的是我在很多例子中看到的(例如,我之前写的使用 socket.io 和 express.js 的著名 TodoList),即在前端和后端的 HTML(Jade 模板)。我找不到所有 HTML、CSS 和 jQuery 都构建在前端(/public 目录)上的示例,而只将后端逻辑(持久性、数据库、会话等)留给 Express.js。跨度>
    • Express.js 中的模板不在 public 目录中,而是在 views 目录中。原因是因为它们在服务器上呈现,然后传递给客户端。因此,在使用框架时,您几乎不会看到纯 html 文件。这并不是什么特别的事情,这就是大多数 Web 框架的做法。
    猜你喜欢
    • 2022-12-21
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2011-11-21
    • 2012-03-02
    相关资源
    最近更新 更多