Я пытаюсь использовать 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/**/*' ]