我使用stencilJs开发了一些web组件,并通过npm包将它们添加到我的angular项目中,没有任何问题
我所做的更改是
main.ts
import { applyPolyfills, defineCustomElements } from 'my-package/loader';
...
applyPolyfills().then(() => {
defineCustomElements();
});
在App.moudle中
schemas: [CUSTOM_ELEMENTS_SCHEMA],
然后在我的app.component.html中
<my-comp #comp></my-comp>
在我的app.component.ts中
@ViewChild('comp') comp!: ElementRef<HTMLMyCompElement>;
ngOnInit(): void {
console.log(this.digitalVerification.nativeElement);
this.comp.nativeElement.configure({ token: '123' });
}
这是完美的工作,没有错误
然后,我试图通过运行以下命令将我的应用程序转换为angular universal,以进行一些服务器端渲染
ng add @nguniversal/express-engine
然后,在添加的文件中,我进行了这些更改
app.server.module.ts
模式:[CUSTOM_ELEMENTS_SCHEMA],
main.server.ts
import { applyPolyfills, defineCustomElements } from 'my-package/loader';
...
applyPolyfills().then(() => {
defineCustomElements();
});
然后,我按照以下方式运行了这个项目
npm run dev:ssr
,但我一打开页面就会在终端中收到此错误,尽管
this.digitalVerification.nativeElement
有值,我可以在终端日志中看到它
错误类型错误:this.comp.nativeElement.configure不是函数
知道吗?