【发布时间】:2017-12-12 22:26:22
【问题描述】:
我正在尝试使用较少的变量将动态主题应用于我的网站。这是一个简化的场景:
文件:site.less
@primary-color: 'red'
文件:foobar.component.less
@import '../site.less';
.some-element {
background-color: @primary-color;
}
这适用于初始页面加载并且背景颜色为红色。但现在我想要一个具有多种颜色选项的下拉颜色选择器。当用户选择绿色而不是红色时,我想使用 less 函数less.modifyVars({'@primary-color', 'green'}),这不会导致任何变化。这是因为 Angular cli 将 less 预编译到 css 中,所以浏览器永远不会看到 less 文件。
所以我在想,如果 Angular 不将 less 文件编译成 css,那么当调用 modifyVars 时,浏览器会接收到更改。
如何告诉 Angular 不要将 less 编译成 css?
【问题讨论】:
-
你可能需要使用 cli 的 eject 命令并将 webpack 配置为不编译少。
-
我对那个命令并不完全熟悉,这是否意味着我不再使用 Angular CLI 进行构建,而是使用原生 webpack?
-
正确,它使您可以完全控制构建
-
我会试试看能不能让它工作。同时,您能否提交此作为问题的解决方案?如果我让它工作,我会将其标记为已接受的解决方案
标签: angular less angular-cli