W jaki sposób rozszerza się biblioteka JavaScript dzięki komponentom sieciowym?

Jako ktoś, kto próbował znaleźć sposób, aby pomóc autorom treści w tworzeniu i utrzymywaniu dużych stron internetowych przez tworzenie komponentów (HTML) przez lata, jestem bardzo podekscytowany, gdy zobaczę, jak komponenty internetowe zyskują dostęp do śledzenia w w3c, google i mozilla. Ale wydaje mi się, że w specyfikacji nie ma żadnego środka przeciwko bibliotece javascript.

Powiedz, że tworzę komponentA który jest zależny odunderscore.js i chcesz używać komponentówB iC które mają zależnościlodash.js wersja 1. * itd.
Nie widzę żadnego sposobu oznaczania zależności i wersji bibliotek. Może to doprowadzić do ogromnego wzrostu liczby bibliotek, gdy będziemy rozmawiać o stronach internetowych z wieloma zespołami i interesariuszami.

Obecne rozwiązanie polega na standaryzacji hurtowej struktury klienta dla całej witryny internetowej na całym świecie. Jest to trudne, gdy zainwestowałeś znaczne zasoby w różne struktury po stronie serwera, takie jakLifeRay (Jawa),EpiServer (.netto),Django (python) itd., każdy z preferowanymi bibliotekami po stronie klienta.

Widzę komponenty internetowe jako środek do oddzielenia frameworków po stronie serwera od kodu po stronie klienta, ale pominięcie obsługi zależności po stronie klienta jest niepokojące.

Czy jest to w specyfikacji i przegapiłem to, czy też istnieje strategia łagodzenia tego problemu, o której nie wiem?

[WYKAZANE BIBLIOTEKI SĄ TYLKO PRZYKŁADAMI. PYTANIE JEST AGNOSTYKĄ NA RAMĘ, BIBLIOTEKĘ I JĘZYK SIDE-SIDE]

AKTUALIZACJA Dziękuję wszystkim za odpowiedź. Jestem zaskoczony, że nikt nie wspominaMozilla X-Tag lubGoogle Polymer co było ostatnio wielkim szumem. Całkowicie wcielam się w ideę shadow DOM, style z zasięgiem, elementy niestandardowe itp., Ale nigdzie nie widzę żadnej wzmianki o tym, jak radzić sobie z zależnościami JavaScript. Jak pisze @ Daniel-BauligImport HTML w ogóle nie wspomina o JavaScript. Przyznaję, że odpowiedź na to pytanie jest prawie niemożliwa. Myślę jednak, że najbliższy był @ Daniel-Bailig, kiedy wspomniał o modułach ES6. Osobiście uważam, że znajdziemy trwałe rozwiązanie gdzieś pomiędzy modułami ES6 i require.js.

questionAnswers(7)

yourAnswerToTheQuestion