Я разрабатываю веб-компонент с использованием Polymer 2 и хотел бы использовать стороннюю библиотеку JavaScript, которая специально не предназначена для использования с веб-компонентами. Насколько я знаю, единственный способ сделать это - включить <script>
ссылающийся на библиотеку, в HTML файл моего веб-компонента.
Я вижу пару проблем с этим, и хочу знать, существуют ли какие-либо способы их решения, и действительно ли это касается сторонних библиотек таким образом, считается плохой практикой.
-
Внешняя библиотека может устанавливать глобальные переменные, которые видны другим компонентам на странице, позволяя веб-компонентам сломать друг друга или сломать страницу, на которой они размещены. Поскольку инкапсуляция часто рекламируется как одно из больших преимуществ использования веб-компонентов, это кажется проблемой.
-
Внешняя библиотека может выполнять запросы или обновления DOM, которые не смогут получить доступ к теневому домену веб-компонента, который их использует, поэтому внешняя библиотека может вообще не работать вообще или может обновить страницу DOM для хостинга, снова нарушающую инкапсуляцию,
Итак, я что-то упускаю, или это означает, что включение внешних библиотек в веб-компонент - это действительно плохая идея? Если это так, это кажется огромным ограничением этой технологии, поскольку мы не можем воспользоваться огромным количеством ранее существовавших JS-библиотек.