我正在为一个相当大的项目开发一个带有 reactjs 的前端,该项目有两个主要接口。
我应该将它们开发为两个不同的项目还是一个在 reactjs 中开发的项目。 如果我将它们构建为两个单独的项目,我很清楚这意味着我将不得不在两个项目上做很多重复的代码。所以我想我应该把它看作是一个项目,如下所示。
客户端(项目文件夹)
- 应用/主
- 应用/管理员
如果我将其开发为一个项目,如果它位于一个项目文件夹中,不同的前端如何路由到不同的子域。
- example.com - 主前端
- admin.example.com - 管理前端
可以为管理员和公共网站共享代码库。但是你需要为它们生成不同的js/css包。因此,您的公共index.html
包括类似public.js
和public.css
.管理员使用admin.js
和admin.css
.公共文件包含所有共享功能和仅在公共站点上使用的内容。管理员也是如此。
进行这种分离可以显着减小文件大小,因为通常管理应用程序包括一些图表,富文本编辑器,css框架和大量其他可能会影响公共网站加载速度的内容。
要使用您可能使用的 webpack 实现单独的捆绑包,您需要创建一些独立的入口点。
文档 — https://webpack.github.io/docs/multiple-entry-points.html
此外,您将需要使用不同的反应路由器设置和 redux 存储(如果您使用这些)。但是表示组件和实用程序可以共享。