У меня есть простой веб-компонент, следующий за последним web components v1 class syntax, он отлично работает в Chrome и Firefox/Edge (с полифоном), но я бы хотел, чтобы он работал в IE11, поэтому мне нужно перераспределить класс. Однако запуск его через babel создает код, который больше не работает в любом браузере.Веб-компоненты, основанные на классе трансляции, с babel
Есть ли способ создать обратно совместимые веб-компоненты с синтаксисом класса или есть предпочтительный способ создания веб-компонентов для максимальной совместимости?
Пример кода -
class TestElement extends HTMLElement {
connectedCallback(){
this.innerHTML = "<div>Testing</div>"
}
}
customElements.define('test-element', TestElement)
Сообщение об ошибке при использовании transpiled коды -
Uncaught TypeError: Failed to construct 'HTMLElement': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
Это может быть дубликат http://stackoverflow.com/questions/35003413/babeljs-doesnt-transpile-extended-classes-properly, который является дубликатом http://stackoverflow.com/questions/33832646/extending -built-in-natives-in-es6-with-babel - если это так, то в следующий раз попробуйте найти transpile ИЛИ babel extends – mplungjan
Это звучит как основная проблема, меня интересует, как люди работают вокруг этого по отношению к веб-компоненты - или два не работают вместе? – Daaavvy
Обходной путь? http://stackoverflow.com/a/39376819/295783 – mplungjan