У меня есть обходной путь для этого.Просто создайте корневой компонент вашей библиотеки без инкапсуляции представления, и тогда все ее стили будут глобальными.
my-library.component.ts
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'lib-my-library',
templateUrl: './my-library.component.html',
styleUrls: ['./my-library.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class MyLibraryComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
my-library.component.html
<!-- html content -->
my-library.component.scss
@import './styles/core.scss';
Теперь ваша my-library.component.scss и core.scss являются глобальными
styles / core.scss
body {
background: #333;
}
core.scss не является обязательным, я просто хочу, чтобы корневые файлы были чистыми.
Обновление : если вы хотите, чтобы ваши миксины и переменные тоже, следуйте этоответить .