我有一个场景要在 React 中实现。我们有一个预建的管理面板,其中已经实现了大部分功能,例如 Auth、图表、分析、用户管理等。现在我们正尝试将它附加到另一个站点作为后端。
但该站点是一个具有登录功能的网络聊天应用程序,用户可以在其中管理他的个人资料和聊天记录。
管理面板和用户屏幕是完全不同的。两者都有完全不同的风格指南和从主题森林购买的完全不同的主题。
我们想要实现基于 Angular 色的身份验证,以便管理员和用户都使用相同的登录页面输入。
现在我对一件事感到困惑。
- Admin 主题很重,充满了图表和组件
- 用户面板相当简单轻便。
我的同事想修改我们已经构建的管理主题,复制粘贴一些组件并在其中添加新购买的主题。但在这里我看到了一个问题。该项目将有 2 个主题和 2 个 Assets 。
我想让 2 个主题分别运行,重定向到完全不同的 React 应用程序以启动管理或用户面板。我想要建议这是一种不好的做法还是有更好的方法来解决这个问题
最佳答案
根据您在这里向我们展示的内容,我也会采用您的解决方案。
基本上来说,您应该将其视为关注点分离,因为两个面板将具有不同的用例和完全不同的依赖关系。
但让我们回顾一下让我认为最好将其拆分的一些要点:
<强>1。用户的有效负载
如果您继承整个管理面板并仅使用它的一部分来呈现完全不同的 View (通过实现另一个主题),您将自动生成更多用户在访问他的个人资料面板之前必须加载的数据,其中(最终)影响用户体验。
<强>2。可维护性
通过拆分不同的面板,您可以生成不那么复杂的代码,并直接获得大量可维护性,因为当您可以直接查找特定部分而不是搜索时,可以更轻松地跟踪错误它在一个庞大的代码库中。
<强>3。模块化
考虑 SPA 时,模块化是关键。这在您编写 react
应用程序时更为重要。如果我处在你的位置,我会模块化整个配置文件和管理面板,这样你就可以轻松地重用其中的一部分。这也提高了可维护性,因此这是一个明显的双赢局面。
<强>4。造型
我不知道您要采用哪种方法,但我想说的是,当组件彼此不依赖时,为它们设置样式要容易得多。基本上就像你说的那样:2 个主题意味着 2 个不同的样式集,那么你为什么要去组合这些?这只会让事情变得更复杂。
<强>5。安全性
当您拆分不同的面板时,您可以轻松地将数据和 API 分开,以防止两者之间的数据泄漏。
长话短说:我会采用您的方法,将 2 个面板拆分为单独的组件(甚至 react
应用程序)。
关于javascript - 管理员和用户面板的两个项目 VS 具有不同主题的单个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49271713/