我是新来的节点,并堆栈溢出,所以只有当你耐心回答。我将目前存在于两个不同的小节点应用程序中的代码整合起来非常困难。我很难相信我的第一人这个问题,但我还没有发现类似的问题或例子(e.g. This similar question is only theoretical)如何在node/express和Backbone中混合使用混合(服务器端和客户端渲染)?
我有什么:
- 应用#1实现了一个工作,使用node,express,passportjs的基本登录墙,所有路由都通过ejs视图传给客户端
res.render()
,它有/login
,/signup
,,/home
这样的路由,效果很好,当用户登录或注册时,/home
路由为他们提供一个ejs,节点呈现的主页,显示他们的信息。 - App#2,也是节点,作为一个模拟,从数据库中抓取一个随机用户并为该用户工作的骨干应用程序。它使用
app.use(express.static(__dirname + "/../public"))
为骨干网服务,以及一些将json发送到骨干客户端的路由。它工作正常,但只有一个随机的用户ID。
我想要什么:在应用#1中,我想要一条路线,如'home:uid'
为具有该用户的用户呈现骨干应用。但是我想这样做,而不用剔除我服务器端渲染视图的可爱/login
和/signup
路由。
最后我的问题:我如何才能有流量节点路由切换,登录后,从服务器端渲染视图到骨干?我如何让用户标识(在req
对象中)可用于我要发送给客户端的骨干应用程序?我是否可以将公共目录与用户标识捆绑在一起,并仅在/home:uid
请求中发送该捆绑包?
事情我已经尝试过,并可以使用更多的方向:
- 我可以用
app.use(express.static(__dirname + "/../public"), {index: false})
似乎是有用的,但我想如何表达用户与静态指标设置为false的例子。 res.sendFile()
。这是使用静态文件进行响应的标准方式。骨干应用程序文件除了用户标识以外都是静态的。我不知道如何处理。
感谢您的耐心等待&帮助。