代码之家  ›  专栏  ›  技术社区  ›  Reza

如何在Angular Universal中使用stencilJs web组件

  •  0
  • Reza  · 技术社区  · 3 年前

    我使用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不是函数

    知道吗?

    0 回复  |  直到 3 年前