是否可以在Styles.scss中动态导入Variables.scss文件?

时间:2019-05-19 01:18:57

标签: javascript css angular typescript sass

两个不同的客户端需要他们自己的主题,并且各自的主题颜色保存在Variables1.scss和Variables2.scss文件中。在启动时,应用程序进行http调用,并提取诸如公司名称之类的信息。现在,根据公司名称,我要决定是否导入Variables1.scss或Variables2.scss。

这似乎有些棘手,因为首先要完成SCSS的编译以生成CSS。而且只有在该应用程序启动并从数据库中提取公司信息之后。

通过导入每个客户端各自的Variables.scss文件为每个客户端构建应用程序可能是一个简单的解决方案,但是如果公司数量增长,这种方式将不可行。

我经历了很多与我的相关的帖子,但是他们要么提出了一个解决方案,该解决方案会产生大量的代码重复,要么导致我在整个应用程序中更改类的名称。

高度赞赏专家的建议。

1 个答案:

答案 0 :(得分:0)

我相信这里最好的方法是使用CSS Variables

对于variables1.scssvariables2.scss,您知道它们的结构以及它们包含的属性,基于此,您可以使用CSS Variables创建相同的属性,然后将其映射到您的应用程序中,以使用一个公共变量:

例如

  $background-default: var(--background-default)

当您发出Http请求时,将根据响应动态加载变量。