적은 변수를 사용하여 내 사이트에 동적 테마를 적용하려고합니다. 여기에 간단한 시나리오입니다 :Angular CLI가 적은 파일을 컴파일하는 것을 방지합니다.
파일 : site.less
@primary-color: 'red'
파일 : foobar.component.less
@import '../site.less';
.some-element {
background-color: @primary-color;
}
이 초기 페이지로드를 위해 잘 작동하고, 배경 색상이 빨간색 . 하지만 이제는 여러 색상 옵션을 가진 드롭 다운 색상 선택기가 필요합니다. 사용자가 빨간색 대신 녹색을 선택하면 덜 기능인 less.modifyVars({'@primary-color', 'green'})을 사용하고 싶기 때문에 아무런 변화가 없습니다. 왜냐하면 angular cli가 less를 css로 미리 컴파일하기 때문에 브라우저가 적은 파일을 처음부터 보지 못하기 때문입니다.
그래서 Angular가 CSS로 적은 파일을 컴파일하지 않는다면 브라우저는 modifyVars가 호출 될 때 변경 사항을 고려할 것입니다.
각도를 CSS로 컴파일하지 않는 방법은 무엇입니까?
아마도 cli의 [eject] (https://github.com/angular/angular-cli/wiki/eject) 명령을 사용하고 less를 컴파일하지 않도록 webpack을 구성해야합니다. – LLai
그 명령에 대해 완전히 익숙하지 않은데, 이것은 Angular CLI를 빌드에 더 이상 사용하지 않고 원시 webpack을 사용하겠습니까? – heilch
정확하다. 빌드를 완전히 제어 할 수있다. – LLai