【问题标题】:theming react multi-tenant application主题反应多租户应用程序
【发布时间】:2020-04-11 00:54:57
【问题描述】:

我正在为这个问题苦苦挣扎。

在我的公司,我们正在启动一个新的多租户 React SPA 应用程序,其中每个租户对应一个不同的客户端。

基于合同的客户端可以进行自定义,从徽标或颜色到(很少)自定义样式的组件,例如具有不同元素位置的自定义标题、背景图像而不是颜色等等。

最好的解决方案是什么?

我一直在想这些解决方案,但我真的不知道是否正确:

  • 为每个客户端构建一个包含所有不同样式属性的自定义主题组件
  • 为每个客户端构建一个自定义组件库(可以扩展我们的更新) 在构建过程中通过 webpack 注入
  • 通过 api 获取主题并切换为“客户端的自定义组件”
  • 通过 api 获取主题(主题包含用于创建自定义组件的道具)

谢谢

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    演示https://antd-live-theme.firebaseapp.com/

    我去年开发了一个解决方案,它没有涵盖 OP 帖子中的所有要求,但用户/租户可以使用 Ant Design(React 组件库)设置基于颜色的主题。这是演示,您可以在其中设置主题变量 https://antd-live-theme.firebaseapp.com/ 基于以下包

    https://github.com/mzohaibqc/antd-theme-webpack-plugin

    如果您由于某种原因不能使用 Ant Design,那么还有另一个包允许您处理 css 文件并创建一个 color.less 文件,其中仅包含与背景颜色、颜色等颜色相关的 css 规则. 可以在 index.html 中导入,现在您可以使用一些 UI 更改这些颜色变量(使用 api less.modifyVars()

    【讨论】:

    • 感谢您的回复,我们将为应用程序使用 material-ui 和样式组件的组合。无论如何我会检查应用程序
    猜你喜欢
    • 2018-08-29
    • 2011-05-05
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2012-07-24
    • 1970-01-01
    相关资源
    最近更新 更多