Я пытаюсь использовать Twitter Bootstrap с Angular 2, SCSS и эшафот, сгенерированный angular -cli
Я хочу применить наилучшую практику, чтобы не портить мою разметку с помощью классов CSS, специфичных для Bootstrap. Вместо этого я хочу применять/использовать их через @extend или как mixins:
.mybutton {
@extend .btn;
}
Моя проблема:
- Компилятор SASS выдает ошибку, потому что он не знает о
.btn - Если я добавлю
@import "bootstrap";в мой.scss-File, он отобразит полный Bootstrap-CSS в каждом компоненте css
Что я сделал до сих пор
- добавить
@import "bootstrap";в мойapp.component.scss -
Примените
ViewEncapsulation.NoneкAppComponent, поэтому Angular 2 не применяет эмуляцию Shadow DOM, а CSS Bootstrap применяется ко всему приложению@Component({ encapsulation: ViewEncapsulation.None }) -
Включите следующий блок в
angular-cli-build.js, поэтому относительный@importбудет работатьsassCompiler: { cacheExclude: [/\/_[^\/]+$/], includePaths: [ 'node_modules/bootstrap-sass/assets/stylesheets' ] }, vendorNpmFiles: [ ... 'bootstrap-sass/assets/**/*' ]