【问题标题】:Failed to construct 'HTMLElement'未能构造“HTMLElement”
【发布时间】:2017-03-16 22:02:09
【问题描述】:

我通过 babel(es2015 预设)运行 my-widget.js 以生成 my-widget-es5.js。这会导致 Polymer 出错。

Class constructor PolymerElement cannot be invoked without 'new'
    at new MyWidget (my-widget.js:##)
    at mw-widget.js [sm]:##

文件结构

out
 |
 -- my-widget-es5.js
js
 |
 -- my-widget.js
html
 |
 -- my-widget.html

我的小部件.html

<dom-module id="my-widget">
    <template>
        <script src="/out/my-widget-es5.js"></script>
    </template>
</dom-module>

我的小部件.js

class MyWidget extends Polymer.Element {
    static get is() {
        return 'my-widget';
    }
}

customElements.define(MyWidget.is, MyWidget);

【问题讨论】:

    标签: polymer web-component custom-element


    【解决方案1】:

    According toSO 用户@joncarlson:

    您可以使用custom-elements-es5-adapter.js 文件作为Webcomponentsjs 提出的解决方法来找到解决方案。

    【讨论】:

      【解决方案2】:

      看看下面的链接。只需使用 es5 捆绑的预设版本,您就可以开始使用了。它将包括 @Supersharp 提到的 custom-elements-es5-adapter.json 的条件加载。

      https://www.polymer-project.org/2.0/docs/tools/polymer-json#builds

      【讨论】:

        猜你喜欢
        • 2018-11-06
        • 1970-01-01
        • 1970-01-01
        • 2018-05-26
        • 1970-01-01
        • 2016-12-26
        • 2023-01-03
        • 2019-08-30
        • 2020-04-21
        相关资源
        最近更新 更多