【发布时间】:2021-10-18 00:41:29
【问题描述】:
我正在通过restful api构建一个前端和后端分离的网站。在开发前端 UI 时,我购买了一个使用 webpack 生成捆绑生产文件的模板。
目前我正在使用纯 javascript 来处理路由。例如,为了显示登录用户与其他用户的不同视图,我做了以下操作:
if (window.location.pathname === "/") {
const token = window.localStorage.getItem("token")
// if token exists and it has not expired, show the logged in homepage.
if (token && !jwt_expired(token)) {
window.location.replace("/index-loggedIn.html")
} else {
window.location.replace("/index.html")
}
这是我的问题:
-
我注意到
window.location.replace可能非常慢,从index.html路由到index-loggedIn.html需要半秒钟。这是正确的做法吗? -
我打算在 Nginx 上部署前端静态文件作为 Web 服务器。我猜这个工作流程会是这样的: 用户向“/”路由发送请求 -> Nginx 以
index.html响应 -> 上面的 javascript 代码运行 -> 对“/index-loggedIn.html”的另一个请求被发送到 Nginx -> Nginx 以索引响应 -登录.html这真的会发生吗?对我来说这听起来效率很低,因为我希望能够在提供主页之前检查用户的登录状态。
-
我可以使用任何其他前端服务器/框架来简化路由吗?然后我可以简单地将 Nginx 用作反向代理。我检查了 Angular,但我认为将整个模板转换为 Angular 的格式需要花费太多精力。我可以将 express 仅用于前端路由吗?
提前感谢您的建议!
【问题讨论】:
标签: javascript nginx webpack frontend web-deployment