2017-03-07 8 views
0

私のデータ要求に対して、データベースに接続せずに単純なJSONを返すと、Angular Universalのサーバーレンダリングが正常に動作します。AngularのZone.jsによるユニバーサルサーバーのレンダリングが停止します。直し方?

しかし、正しいバージョンのZone.jsがないと、MySQLデータベースへのリクエストが行われないことがわかりました。 私は、次のエラーが発生しました:

TypeError: Cannot read property 'on' of undefined 
     at Protocol._enqueue (/Applications/MAMP/htdocs/Angular2/myproject/node_modules/mysql/lib/protocol/Protocol.js:152:5) 
... 

はまた、私は、私は警告していた注意を払っ:

[email protected] requires a peer of [email protected]~0.6.21 but none was installed. 

だから私は、適切Zone.jsをインストール:

npm install [email protected] 

と私は受信を開始MySQLのデータ

BUT!この時点で、サーバーのレンダリングが停止します。私は、HTMLテンプレート内の

<!--template bindings={}--> 

を表示します。

私はMySQLに接続せずにJSONを返すように戻ってきましたが、この場合でもサーバーレンダリングが機能していないことがわかりました。

だから私は、これで少しプレイしていると私は、コマンドを使用する場合ことを発見した:

npm install zone.js 

を私はデータベースに接続せずにJSONを返すときに、サーバーレンダリングが正常に動作しますが、私は、MySQLに接続しようとした場合元のエラーが発生します。

これで、サーバーレンダリングを行わずに、サーバーレンダリングまたはMySQLへの接続を行っています。サーバーへのレンダリングではなく、データベースへの接続が必要です。

誰かが何をすべきか分かっているなら、私は助けに感謝します。ありがとうございました。

答えて

0

解決策が見つかりました。私の場合は問題がコマンドによって解決されました:

npm install [email protected] 

今、私は、MySQLへの要求を行うことができますし、また私は、サーバーレンダリングを持っていると私のHTMLテンプレート内のすべてのデータを見ることができます。

関連する問題