在node.js服务器上重新使用主干路由、模型和视图
我正在尝试构建一个既可以作为SPA工作又可以作为普通应用程序工作的应用程序,而不需要尽可能多地重新编写任何代码。我的研究表明,使用节点+主干网(在服务器和客户机上)可以实现这一点。我已经找到了一些关于如何做到这一点的资源,但没有什么真正完整的。有人尝试过完整的解决方案来重新使用所有代码吗 我发现的资源: 在服务器上重新使用主干模型: 在服务器上重新使用主干视图和布局管理器:在node.js服务器上重新使用主干路由、模型和视图,node.js,backbone.js,Node.js,Backbone.js,我正在尝试构建一个既可以作为SPA工作又可以作为普通应用程序工作的应用程序,而不需要尽可能多地重新编写任何代码。我的研究表明,使用节点+主干网(在服务器和客户机上)可以实现这一点。我已经找到了一些关于如何做到这一点的资源,但没有什么真正完整的。有人尝试过完整的解决方案来重新使用所有代码吗 我发现的资源: 在服务器上重新使用主干模型: 在服务器上重新使用主干视图和布局管理器: 我还发现了一些实现这一点的框架,比如(bones、derby、meteor),但我觉得使用这样的框架不是最好的解决方案,
我还发现了一些实现这一点的框架,比如(bones、derby、meteor),但我觉得使用这样的框架不是最好的解决方案,因为我仍然希望完全控制主干和节点 您试图实现的是
资源视图演示器
模型。请仔细阅读这篇文章。它为可以在客户端和服务器上执行的同构代码提供了急需的洞察力。它还帮助我理解了各种模型和体系结构
backbone.js使用的是传统的MVC框架,如果不进行修改,它无法在客户端和服务器上工作。因此,如果您想坚持使用backbone.js,您迟早会面临这个缺点。我也试过了,但没有找到简单的方法
我尝试在node.js上寻找RVP框架,但它仍然是新的。我建议您查看flatiron.js。它基于Resource View Presenter模型,这是我为node.js找到的唯一一个模型。在服务器/客户端上都需要实现一些更改,但这并不多。你会发现它类似于主干网
希望它能帮助您找到正确的路径。我最近在该领域做了一些研究,发现了一些有趣的项目,它们在客户端和服务器(nodejs)上使用相同的主干代码 项目1 第一个是由Groupon的Keith Norma介绍的。他设法在客户端和服务器上重用主干路由器+模板 应用程序演示: 在SPAINJ讲座上的介绍: 项目2 第二个项目是由Airbnb的Spike Brehm提交的Rendr,但尚未向公众发布。它似乎有点雄心勃勃,因为它还将主干模型和集合交换给nodejs服务器。您可以在此处阅读更多信息: 更新:已发布Rendr代码: 项目3
还有一个项目也允许在客户机和服务器之间共享主干代码:+1,这是一个有趣的问题。为什么要在服务器上使用主干路由器?假设我们在服务器上使用主干模型和主干布局管理器,那么主干路由器和节点路由器都会有冗余代码,因为两个路由器会呈现相同的视图。那么,为什么要使用两个路由器而不是一个呢?这一点很有道理。我只是不认为你可以用同样的路由器代码。我个人会分享一些路由散列->查看地图,但会实现不同的路由机制。也许您的情况有所不同。我没有考虑共享路由哈希->视图映射,但它仍然是冗余代码,因为服务器和客户端将使用相同的布局管理器主干布局管理器(在节点中工作),因此理论上两个路由器中都存在相同的渲染代码。我不是100%确定这一点,尽管我对node和BackboneAlly+1都是新手,因为在客户端和服务器上编写类似的代码会成为一场维护的噩梦。无论如何,这是非常有趣的。我相信他们很快就会开放他们的名为Rendr的图书馆。不过有一件事需要澄清:主干不是传统的MVC框架,因为它没有单独的控制器(MVC中的“C”)。