【发布时间】:2019-06-14 09:26:02
【问题描述】:
我是 react 世界和整个全栈世界的新手,但我一直在无休止地寻找以下问题的答案,非常感谢一些指导。
我正在使用 React 和 Express 创建一个应用程序。它需要身份验证,所以我打算使用 Passport 来提供帮助。客户端 JS 使用 React Routers 浏览网站。没关系,但我的问题是浏览器发出的初始 GET 请求。
我将首先描述我的具体应用要求,然后概括我不理解的内容。
正如我所说,我的应用程序需要 OAuth2 身份验证。如果您尝试在我的网站上获取路径并且您没有登录,它应该只加载登录页面。如果您已登录,则正常加载并找到您的路径。与 facebook 类似,我希望登录 URL 与“提要”页面相同。如此类似于 facebook.com '/' 路由是登录页面还是您的新提要,具体取决于您是否已登录,我想要同样的东西。
据我了解,Passport 通过检查请求标头在后端进行身份验证。所以我知道我应该有某种中间件,上面写着“如果用户已登录,则继续沿着路线走,否则会呈现登录页面”......这是怎么做到的?代码会是什么样子?我对 Express 的唯一体验来自一个介绍类,该类使用 res.render 发送回 HTML 文件并将其通过一些模板引擎(如把手)传递。但我不知道它如何与反应路线一起工作。我还会使用 res.render() 吗?还有什么?
假设我的 index.html 有根 div 来注入反应。如果我不得不猜测,我会用带有路由的 .js 文件发回那个 index.html 页面,并以某种方式在后端发回我希望它在我的反应路由上匹配的路由(登录或用户)要求)??
更一般地说,我想我只是对如何使用反应路由完成对网站的初始请求感到困惑。 1)服务器如何与一切交互以呈现我要求的内容? 2)代码会是什么样子。我对 React 的唯一体验来自 Udemy 基础课程,该课程仅使用“react-scripts start”来呈现页面。
花了一整天谷歌搜索这个问题后,它把我带到了 SSR,它本身就是一个兔子洞,我什至不确定它是否需要帮助我。是吗?
我显然缺少一些基础知识,因为这真的让我很困惑,所以如果您有任何资源可以了解更多信息,请发布它们。谢谢!
【问题讨论】:
标签: javascript node.js reactjs express react-router