Admin / backend和frontends作为一个项目或单独的项目

时间:2017-07-14 16:14:43

标签: javascript reactjs react-router

我正在为一个相当大的项目开发一个带有reactjs的前端,该项目有两个主要接口。主站点的前端和管理员的前端。

我应该将它们作为两个不同的项目或者反应中的一个项目来开发。如果我将这些构建为两个独立的项目,我很清楚这意味着我将不得不在两个项目上重复执行大量代码。所以我认为我应该把它视为下面的一个项目。

客户端(项目文件夹)

  • 应用程序/主
  • 应用程序/系统管理员

如果我将其作为一个项目开发,如果它位于一个项目文件夹中,不同的前端如何路由到不同的子域。

  • example.com - 主要前端
  • admin.example.com - admin front-end

1 个答案:

答案 0 :(得分:0)

为管理员和公共站点提供共享代码库是可以的。但是你需要为它们生成不同的js / css包。因此,您的公开index.html包含public.jspublic.css等内容。管理员使用admin.jsadmin.css。公共文件包含所有共享功能以及仅在公共站点上使用的内容。管理员同样如此。

实现这种分离可以显着减少文件大小,因为通常管理应用程序包括一些图表,富文本编辑器,CSS框架以及可能影响您的公共站点加载速度的大量其他内容。

要使用您可能使用的webpack实现单独的捆绑包,您需要创建一些独立的入口点

文档 - https://webpack.github.io/docs/multiple-entry-points.html

此外,您将需要使用不同的react-router设置和redux存储(如果您使用它们)。但是可以分享表示组件和实用程序。