簡體   English   中英

Angular Universal服務器渲染WebSocket

[英]Angular Universal server rendering WebSocket

是否有任何帶WebSockets的Angular Universal示例?

在我的情況下,Serverside渲染不知道WebSocket對象。 如果我使用socket.io,節點服務器在嘗試建立連接時會掛起。

有關此問題的一些其他信息:

我從github下載了角度通用啟動器: https//github.com/angular/universal-starter運行'npm install'和'npm start'的開箱即用

但在我將以下代碼添加到AppComponent之后

   export class AppComponent implements OnInit {
       ngOnInit() {
           let webSocket = new WebSocket("----server url----")
       }
   }

我的NodeJs服務器控制台中出現以下錯誤:

EXCEPTION: WebSocket is not defined
ORIGINAL STACKTRACE:
ReferenceError: WebSocket is not defined
    at AppComponent.ngOnInit (/Volumes/Development/cacadu/website/universal-starter-master2/dist
/server/index.js:41725:29)

嘗試僅調用客戶端上的websocket,例如,您可以檢測它是瀏覽器還是具有這些導入的服務器

import { isPlatformBrowser } from '@angular/common';
import { Inject, PLATFORM_ID } from '@angular/core';

然后在代碼中使用它們,這可能能解決問題!

@Component({ ... })
export class AppComponent implements OnInit {

    private isBrowser: boolean = isPlatformBrowser(this.platformId);

    constructor(
       @Inject(PLATFORM_ID) private platformId: Object
    ) {
        if (isBrowser) {
            let webSocket = new WebSocket("----server url----");
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM