У моего приложения AngularJS 2 есть несколько файлов стиля, которые я связываю с заданием gulp
. Все в порядке, так как они попадут в большой файл, который я отправляю в браузер на производстве. Мой вопрос касается Angular 2 @Component
и его атрибута styleUrls
.AngularJS 2 styleUrls: Что случилось с конкатенацией?
@Component({
selector: 'hero',
templateUrl: 'hero/hero.template.html',
styleUrls: ['hero/hero.component.css'],
inputs: ['hero']
})
Благодаря теневому DOM эмуляции в режиме по умолчанию (эмулируемый) стили, определенные в hero/hero.component.css
применяются только к компоненту так же, как я хочу. Мой вопрос: что происходит с конкатенацией? Я не могу объединить все файлы CSS, указанные в нескольких styleUrls
, так как мы побеждаем цель инкапсуляции: стили для компонента будут протекать во весь документ. Тем не менее, я не хочу, чтобы вы делали вызов в каждом файле CSS, который требуется компоненту. Как я могу объединить эти стили (и, возможно, их уменьшить), чтобы клиент получал их все за один вызов и все еще сохранял инкапсуляцию?
Ну, я использую машинопись и НПЙ работать с угловыми 2, и я заметил, что за кулисами, все styleUrls автоматически принес первое, сделали встроенное в голове, а затем отправлены в браузеры. Есть ли проблема с этим подходом? – mehulmpt
вы имеете в виду для каждого компонента, определяющего 'styleUrls', есть запрос, извлекающий каждый из файлов, не так ли? Он действительно работает, я задавался вопросом, может ли это быть сведено к одному вызову каким-то образом (для производственных сред). –
Я считаю, что стили не должны быть конкатенированы, но в комплекте с компонентами, например. через шаблон gulp-inline-ng2. – estus