我正在尝试在stackblitz上对角元素进行非常简单的应用,我遇到了以下问题。
错误:无法构建' HTMLElement':请使用' new' 运算符,此DOM对象构造函数不能作为函数调用。
我所要做的就是尝试展示你好世界。我在本地的可视代码上没有遇到任何问题,但是,这个问题出现在stackblitz上。我不确定我必须在stackblitz上执行一些额外的步骤才能运行此应用程序。感谢任何帮助。
以下是stackblitz上应用程序的链接。
答案 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
更改为es6
或es2015
。那将完美地工作。
答案 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应该正常工作。