繁体   English   中英

如何在node / express和Backbone中混合混合(服务器端和客户端渲染)?

[英]How to mix hybrid (server-side and client-side rendering) in node/express and Backbone?

我是node的新手,并且是堆栈溢出的对象,所以只有耐心地回答。 我在集成两个不同的小节点应用程序中当前存在的代码时遇到了令人惊讶的困难。 我很难相信我是这个问题的第一人,但是我没有找到类似的问题或例子( 例如,这个类似的问题只是理论上的)

我有的:

  • App#1实现了一个工作正常的基本登录墙,该登录墙使用了node,express,passportjsjs。 所有路由都使用res.render()将ejs视图传递给客户端。 它具有/login/signup/home路由。 它运作良好,当用户登录或注册时, /home路由为他们提供一个ejs(节点呈现的主页),显示其信息。
  • 应用程序#2(也是节点)提供了一个主干应用程序,该应用程序作为模拟对象,从数据库中获取了一个随机用户并为该用户工作。 它使用app.use(express.static(__dirname + "/../public"))服务于骨干网,以及一些将json发送到骨干网客户端的路由。 它可以正常工作,但只能使用随机用户ID。

我想要的是:在应用程序1中,我想要一条路由,例如'home:uid'以使用该uid为用户呈现主干应用程序。 但我想做到这一点而又不破坏我提供服务器端渲染视图的可爱的/login/signup路由。

最后是我的问题:登录后,节点路由如何从服务端渲染视图切换到骨干网? 如何使用户ID(在req对象中)可用于我发送给客户端的骨干应用程序? 我可以将公共目录与用户ID捆绑在一起,并且仅在/home:uid请求上发送该捆绑包吗?

我已经尝试过并且可以在以下方面使用更多指导的事情:

  1. 我可以使用app.use(express.static(__dirname + "/../public"), {index: false})似乎有用,但是我想举一个如何在索引设置为false的情况下表达静态的示例。
  2. res.sendFile() 这是响应静态文件的标准方法。 除用户ID外,主干应用程序文件都是静态的。 我不确定如何处理。

感谢您的耐心配合和帮助。

Airbnb的这篇文章似乎说,在节点中混合客户端和服务器端渲染是一个前沿。 节点未设置为在一个应用程序中从在后端模板化的服务文件转换为在前端呈现的静态文件的服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM