Tôi là một thành phần web đơn giản theo sau web components v1 class syntax mới nhất, nó hoạt động tốt trong Chrome và Firefox/Edge (với một polyfill) nhưng tôi muốn nó chạy trong IE11 vì vậy tôi cần transpile lớp. Tuy nhiên chạy nó thông qua babel tạo mã không còn hoạt động trong bất kỳ trình duyệt nào.Transpiling thành phần web dựa trên lớp với babel
Có cách nào để tạo các thành phần web tương thích ngược với cú pháp lớp hoặc có cách nào ưu tiên để viết các thành phần web để có khả năng tương thích tối đa không?
đangVí dụ -
class TestElement extends HTMLElement {
connectedCallback(){
this.innerHTML = "<div>Testing</div>"
}
}
customElements.define('test-element', TestElement)
Thông báo lỗi khi sử dụng mã transpiled là -
Uncaught TypeError: Failed to construct 'HTMLElement': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
Đây có phải là bản sao của http://stackoverflow.com/questions/35003413/babeljs-doesnt-transpile-extended-classes-properly, đó là bản sao của http://stackoverflow.com/questions/33832646/extending -built-in-natives-in-es6-with-babel - nếu có, thì lần sau hãy thử tìm kiếm transpile OR babel extends – mplungjan
Điều đó nghe giống như vấn đề cơ bản, tôi quan tâm đến cách mọi người làm việc xung quanh vấn đề này liên quan đến thành phần web - hoặc có thể cả hai không hoạt động cùng nhau? – Daaavvy
Giải quyết sự cố? http://stackoverflow.com/a/39376819/295783 – mplungjan