【问题标题】:Angular elements error . "Failed to construct 'HTMLElement ...'角元素错误。 “未能构造 'HTMLElement ...'
【发布时间】:2018-11-06 06:49:58
【问题描述】:

我正在 stackblitz 上尝试一个非常简单的关于角度元素的应用程序,我遇到了以下问题。

错误:无法构造“HTMLElement”:请使用“新” 运算符,这个 DOM 对象构造函数不能作为函数调用。

我要做的就是尝试显示你好世界。我在本地的可视化代码上没有遇到任何问题,但是,这个问题出现在 stackblitz 上。不确定我是否必须在 stackblitz 上执行一些额外的步骤才能运行此应用程序。感谢您对此的任何帮助。

这是stackblitz上的应用程序链接。

【问题讨论】:

标签: angular custom-element stackblitz


【解决方案1】:

document-register-element 降级为v1.8.1 即可解决。

npm i document-register-element@1.8.1

为我工作。

铬。 https://github.com/angular/angular/issues/24390#issuecomment-396729418

【讨论】:

    【解决方案2】:

    如果有人遇到此问题,但仍想定位 ES5(出于 IE 兼容性或其他原因),另一个合理的解决方案是使用 Web 组件 ES5 适配器 polyfills

    # Install the package
    npm install @webcomponents/webcomponentsjs --save-dev
    
    # Then add the following line in Polyfills.ts
    import '@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js'; 
    

    来自this GitHub 问题。

    【讨论】:

      【解决方案3】:

      对于遇到此问题的任何人,只需将 tsconfig.json 文件中的 target 更改为 es6es2015。这将完美地工作。

      【讨论】:

        【解决方案4】:

        使用 Angular 8 将目标版本设为 es2015 可以实现差异加载,最终会为 es5 和 es2015 版本提供不同的构建文件。

        如果不需要上述内容,理想的解决方法是降级 document-register-element@1.8.1。

        任何版本 >=1.7.2

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-20
          • 1970-01-01
          • 2017-11-19
          • 2019-07-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多