2015-05-31 3 views
4

С Shadow DOM я могу легко использовать внешние CSS-фреймворки, такие как bootstrap, и это применимо только к моей области видимости (пример here).Полимер и работа с внешними библиотеками JavaScript

Однако это не относится к библиотекам JavaScript, насколько мне известно. Если мне, например, нужно работать с jQuery на моем веб-компоненте, я в основном делаю его доступным для всей страницы. Каков рекомендуемый способ работы с внешними библиотеками JavaScript с помощью Polymer? Как я должен обрабатывать случаи, когда мой веб-компонент (который распространяется через bower) нуждается в одной версии foo.js, а потребителю нужна другая?

+0

browserify и requirejs являются общими для модулизации javascript-файлов. С ECMAScript6 будут встроены модули. Вы можете потребовать разные версии jquery, подгонять их и делать всевозможные вещи. –

+0

@JevZelenkov hmm, я использовал requirejs какое-то время, но никогда не знал, что можно обеспечить загрузку определенной версии библиотеки. Как я могу гарантировать, что мой веб-компонент будет работать только с файлом foo.js 2.0.0 (даже если потребитель уже загрузил 1.9.0). Если библиотека присоединяется к объекту 'window', это может испортить потребитель AFAIK, правильно? – tugberk

ответ

0

Нет никаких решений для инкапсуляции JavaScript, о которых я знаю.

  1. Проверьте, существуют ли решения для инкапсуляции js. проверьте зоны и альтернативы.
  2. Вы можете сделать это сами, но это потребует от вас посвятить некоторое время. Например. Я инкапсулировал Babel с оператором with, как показано here (не тестировалось).
Смежные вопросы