Ich versuche, ein dynamisches Thema auf meiner Site anzuwenden, indem ich weniger Variablen verwende. Hier ist ein vereinfachtes Szenario:Verhindern, dass Angular CLI weniger Dateien kompiliert
Datei: site.less
@primary-color: 'red'
Datei: foobar.component.less
@import '../site.less';
.some-element {
background-color: @primary-color;
}
Dies funktioniert gut für die erste Seite zu laden und die Hintergrundfarbe ist rot . Aber jetzt möchte ich eine Dropdown-Farbauswahl mit mehreren Farboptionen. Wenn der Benutzer grün statt rot auswählt, möchte ich die weniger Funktion less.modifyVars({'@primary-color', 'green'}) verwenden, die zu keiner Änderung führt. Dies liegt daran, dass angular cli den css weniger vorkompiliert, so dass der Browser niemals die weniger Dateien sehen kann.
Also ich denke, wenn Angular die weniger Dateien nicht in CSS kompiliert, dann wird der Browser die Änderungen übernehmen, wenn ModifyVars aufgerufen wird.
Wie sage ich Angular nicht kompilieren weniger in CSS?
Sie müssen wahrscheinlich den Befehl [eject] (https://github.com/angular/angular-cli/wiki/eject) des Clients verwenden und konfigurieren, dass Webpack nicht weniger kompiliert wird. – LLai
Ich bin mit diesem Befehl nicht ganz vertraut, würde das bedeuten, dass ich Angular CLI nicht mehr für Builds, sondern für natives Webpack verwenden würde? – heilch
Richtig, es gibt Ihnen die volle Kontrolle über den Build – LLai