Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Web Components consolidation (https://javascript.ru/forum/offtopic/48425-web-components-consolidation.html)

melky 03.07.2014 12:28

Web Components consolidation
 
не пойму, эта проблема решена, или нет. такое чувство, что просто отмели это!

допустим, у меня в приложении используется 3 компонента - слайдер (сделан на Twitter Bootstrap + jQuery), поле ввода с автозавершением (тоже TwBootstrap + jQ) и модальные окна (опять таки, TwBootstrap + jQ).

Все 3 компонента самодостаточны и могут повторно использоваться (читай: тянут все зависимости за собой)

но вот вопрос - при подключении их в результирующую страницу будет ли подключено ТРИ Twitter Bootstrap и ТРИ jQuery ?

тут проблема не в том, что оно будет перекрывать друг друга - нет, не будет перекрывать, т.к. всё изолировано

проблема в канале и производительности.

можно ли вообще консолидировать (сконкатенировать, соединить в один) скрипты\стили из этих компонентов ?

похоже, это идёт вразрез с идеей самих веб компонтентов - ведь если мы соединим все стили в один, то никакого scoped css уже не будет, верно?

kobezzza 03.07.2014 13:12

Предвкушаю новые хак-либы :)

bes 03.07.2014 13:21

а это не извечная проблема - производительности и удобства: чем больше одно, тем меньше другое
победит, думаю, середина

melky 03.07.2014 16:50

Цитата:

Сообщение от bes (Сообщение 319296)
а это не извечная проблема - производительности и удобства: чем больше одно, тем меньше другое
победит, думаю, середина

BEM для CSS Scoping ? (Блок, элемент, модификатор)

Цитата:

Сообщение от kobezzza (Сообщение 319294)
Предвкушаю новые хак-либы :)

это вторичный вопрос :)

первичный - можно ли вообще разрешить эту проблему

bes 03.07.2014 17:43

Цитата:

Сообщение от melky
BEM для CSS Scoping ? (Блок, элемент, модификатор)

скорее я имел в виду, что проект проекту рознь, и, в определённых условиях, может не пригодиться большинство возможностей хорошо отлаженного механизма

в данном случае можно построить некую иерархию компонентов (пример - jquery ui), можно сделать некую разбивку на части этой иерархии или не делать (грузить всё в одном файле), в последнем случае придётся таскать за собой всё, даже если половина не нужна

если у твиттера такого нет, могу лишь предположить, что ещё всё в стадии разработки

Vlasenko Fedor 03.07.2014 17:51

Если версии компонентов одни и те-же то они кешируются на клиенте. И клиент получает их уже с кеша
нет здесь никакой проблемы раз загрузил и закешировалось. Можешь даже подгружать где удобно, чтобы в последствии другие страницы быстрее открывать

melky 05.07.2014 10:43

в общем, я собирался использовать Polymer, а у них есть инструмент для консолидации : https://github.com/Polymer/vulcanize
и он не гуглился ...
Цитата:

Сообщение от Poznakomlus (Сообщение 319344)
Если версии компонентов одни и те-же то они кешируются на клиенте. И клиент получает их уже с кеша
нет здесь никакой проблемы раз загрузил и закешировалось. Можешь даже подгружать где удобно, чтобы в последствии другие страницы быстрее открывать

та не, приложение одностраничное, этот способ не подойдет


Часовой пояс GMT +3, время: 07:28.