角元素错误。 "无法构建' HTMLElement ......'

时间:2018-05-27 15:01:21

标签: angular custom-element stackblitz

我正在尝试在stackblitz上对角元素进行非常简单的应用,我遇到了以下问题。

  

错误:无法构建' HTMLElement':请使用' new'   运算符,此DOM对象构造函数不能作为函数调用。

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

以下是stackblitz上应用程序的链接。

4 个答案:

答案 0 :(得分:4)

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

npm i document-register-element@1.8.1

为我工作。

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

如果任何人都面临问题,并且仍然想针对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 :(得分:0)

将angular 8的目标版本设置为es2015可以启用差异加载,并且最终将为es5和es2015版本提供不同的构建文件。

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

任何版本> = 1.7.2 <= 1.8.1应该正常工作。