【发布时间】:2017-09-01 12:18:50
【问题描述】:
动态样式呢?
假设您正在为多个客户部署一个独特的平台。 (SAAS平台)
您部署一个 webapp 文件夹,但这些 webapp 必须为每个客户端应用不同的主题(颜色)(示例配置:按域名加载颜色)。
在angular 2中,有scss但scss是编译语言->所以每次需要为每个客户端编译N个webapps。这需要时间,而且很难维护。
所以我看到的唯一解决方案是: - 在加载应用程序时在运行时(通过远程服务器调用、fe:jsass 或 js)编译 scss,并将生成的 css 文件注入 head 部分。
但我认为这是 angular2 组件的 (s)css 文件的反模式。 此外,生成的文件将包含组件样式,即使组件未初始化,也会应用于整个页面。
您有任何框架或其他解决方案吗?
【问题讨论】:
-
SCSS 只编译一次(当您构建应用程序时)到 CSS 文件中。 Typescript 文件也是如此,编译并压缩成一个 JS 文件。
-
您应该创建一个自定义RootRenderer,它将处理编译 sass 或使用自定义 css 文件。为此,您将需要创建一个新平台,这是我从未做过的一项艰巨任务。看看它是如何工作的in browser platform。在 ng-europe 有一个 speach about custom renderers
-
太好了,我去看看。