管理员和用户面板的两个项目VS具有不同主题的单个应用程序

时间:2018-03-14 07:16:25

标签: javascript reactjs

我有一个在React中实现的场景。我们有一个预先构建的管理面板,其中包含许多功能,如Auth,图表,分析,用户管理等已经实现。现在我们尝试将其作为后端附加到另一个站点。

但该网站是一个具有登录功能的网络聊天应用,用户可以来管理他的个人资料+聊天记录。

管理员面板和用户界面完全不同。两者都有完全不同的风格指南和从主题森林购买的完全不同的主题。

我们希望实施基于角色的身份验证,因此管理员和用户都使用相同的登录页面进入。

现在我对一件事感到困惑。

  1. 管理主题很重,充满了图表和组件
  2. 用户面板非常简单轻便。
  3. 我的同事希望修改我们已经构建的管理主题,复制粘贴少量组件并在其中添加新购买的主题。但在这里我看到了一个问题。该项目将有2个主题和2个资产。

    我希望保持2个主题分别运行,重定向到完全不同的反应应用以启动管理员或用户面板。我想建议这是一个不好的做法,或者有更好的解决这个问题的方法

1 个答案:

答案 0 :(得分:1)

从你在这里介绍我们的内容,我也会考虑你的解决方案。

基本上,您应该将其视为关注点分离,因为两个Panel都会有不同的用例和完全不同的依赖关系。

但是,让我们通过一些让我觉得最好将其拆分的观点:

<强> 1。用户的有效负载

如果您继承整个管理面板并仅使用它的一部分来呈现完全不同的视图(通过实现另一个主题),您将自动生成用户在访问其配置文件面板之前必须加载的更多数据,最终)影响用户体验。

<强> 2。可维护性

通过拆分不同的面板,您可以生成不那么复杂的代码,并且直接导致它获得了大量的可维护性,因为当您可以直接查找特定部件而不是搜索时,可以更轻松地跟踪错误它在庞大的代码库中。

第3。模块化

在考虑SPA时,模块化是关键。在编写react应用程序时,这一点尤为重要。如果我在你的位置,我将模块化整个配置文件和管理面板,以便您可以轻松地重复使用它的一部分。这也提高了可维护性,因此这是一个明显的双赢局面。

<强> 4。造型

我不知道你要采用哪种方法,但我会说,当组件不相互依赖时,更容易设计组件。它基本上就像你说的那样:2个主题意味着2种不同的风格集,那你为什么要去结合这些呢?它只会让它变得更复杂。

<强> 5。安全

当您拆分不同的面板时,您可以轻松地分离数据和API,以防止两者之间的数据泄漏。

长话短说:我会按照你的方法将2个面板分成单独的组件(甚至是react个应用程序)。