我正在制作一个完整的堆栈应用程序,其前端在Next上,自定义后端在Express上。该应用程序还有一个管理仪表板。如何在生产环境中实现可以通过管理仪表板更改的站点维护功能。
当站点处于维护状态时,理想的情况应该是api应该做出相应的响应(这可以通过Express中间件实现)。但主要的问题是,如果网站处于维护状态,我应该在哪里存储配置/值。
同样,对于nextjs,如果我在_app中有一个api调用。Ts,它会影响速度和加载时间吗?所有这些都必须在生产环境和开发环境中实现。
我认为的一种方法是将其存储在。env中,但这会导致前端和后端冗余,并且还会导致通过管理仪表板配置它的问题。另一个是将其存储在DB中,但如果在_app.ts中检查,它会影响NextJS中的优化吗?
通常,重定向用于处理这种情况:
关于重定向的更多信息
重定向经常用于网站不存在或正在建设中,内容已被移动到一个不同的URL,路由系统已经改变,用户正在被由于访问限制或许多其他情况而重定向。
如果你想通过管理面板来处理它,你可以在全局状态下跟踪页面状态。例如,你可以写
const pageStatus={page1:false,page2:false,...}
如果你想让其中一个页面正在构建中,你可以将其设置为true
const pageStatus={page1:true,page2:false,...}
在page1中,您可以读取全局状态,并且在维护的情况下,您可以显示不同的ui