javascript - 管理/后端和前端作为一个项目或单独的项目

标签 javascript reactjs react-router

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

我应该将它们开发为两个不同的项目还是 reactjs 中的一个项目。如果我将它们构建为两个独立的项目,我很清楚这意味着我将不得不在两个项目上做很多重复的代码。所以我认为我应该将其视为一个项目,如下所示。

客户端(项目文件夹)

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

  • 如果我将此作为一个项目开发,如果它位于一个项目文件夹中,不同的前端如何路由到不同的子域。
  • example.com - 主要前端
  • admin.example.com - 管理前端
  • 最佳答案

    可以为管理员和公共(public)站点共享代码库。但是您需要为它们生成不同的 js/css 包。所以你的公众index.html包括 public.js 之类的内容和 public.css .管理员使用 admin.jsadmin.css .公共(public)文件包含所有共享功能和仅在公共(public)站点上使用的东西。管理员也一样。

    进行这种分离可以显着减少文件大小,因为通常管理应用程序包括一些图表、富文本编辑器、css 框架和大量其他可能会影响您的公共(public)站点加载速度的东西。

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

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

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

    关于javascript - 管理/后端和前端作为一个项目或单独的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45107482/

    相关文章:

    javascript - 修改对象中的日期以在 mongoose 中聚合 $match 查询

    javascript - 你可以在nodejs中使用Create-React-App npm start吗?

    reactjs - 错误 : useHref() may be used only in the context of a <Router> component

    javascript - 如何使用JavaScript实现jQuery队列

    javascript - 在reactjs中通过不同的id从api获取数据

    javascript - 为什么 setTimeout 返回数字而不是文本? ReactJS

    javascript - 如何使用 React Router v4 将 Redux props 传递到不同路由中的单独组件?

    javascript - React 项目中正确路由的问题

    javascript - 计算多个输入的总和 - jQuery Range Slider

    javascript - 如何将完整的 html 页面调用到 React 组件中