2017-01-17 8 views
4

角度ユニバーサルWebSocketの例はありますか?角度ユニバーサルサーバーレンダリングWebSocket

サーバサイドのレンダリングでは、私の場合WebSocketオブジェクトが認識されません。 socket.ioを使用すると、接続しようとするとノードサーバーがハングします。

問題に関するいくつかの追加情報:

私はgithubのから角度-ユニバーサル・スターターをダウンロードし

https://github.com/angular/universal-starter「NPMインストール」と「NPM開始」

しかし、後に実行されているボックスのうち、正常に動作します

:私は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) 
+0

いくつかのエラーコードやデバッグ情報が表示されますか? –

+0

下記の私のコメントを参照してください – Marco

答えて

1

のみ次に、あなたのコード内でそれらを使用するたとえば、あなたはそれが

import { isBrowser, isNode } from 'angular2-universal'; 

これらの輸入品で、ブラウザまたはサーバーのかどうかを検出することができ、クライアント上でのWebSocketを呼び出して試してみてください、これは解決することができるかもしれません問題!

export class AppComponent implements OnInit { 
    ngOnInit() { 
     if (isBrowser) { 
      let webSocket = new WebSocket("----server url----"); 
     } 
    } 
} 
+0

ありがとうございました、 'angular2-ユニバーサル/ ;しかし、間違っているのはもちろん...物事は今働くようです! – Marco

+0

うれしいことにうまくいきました! :) –

0

問題に関するいくつかの追加情報:

私はgithubのから角度-ユニバーサル・スターターをダウンロードし

https://github.com/angular/universal-starter「NPMインストール」と「NPM開始」を実行箱から出して正常に動作します

しかし、

:私は

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

をAppComponentするために、次のコードを追加した後、私は私の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) 
+0

私は上記の質問にこの情報を追加しました、これを削除することができます、あなたは誤って答えとして投稿しました:) –