私はノードと角を初めて使っています。私は、バックエンドとして機能するノードエクスプレスアプリケーションと同じポート上の角度フロントエンドを実行することが可能かどうかを知る必要があります。私はangular.ioのAngular Quickstartのヒントに従い、Node Todoアプリケーションを作成しましたが、どちらも異なるポートで実行されており、Cross Origin Request Blocked Issueの問題が発生しています。Node ExpressサーバーとAngularを同じポートで実行するにはどうすればいいですか?
答えて
AngularとExpressを同じポートで実行するには、私はいつもExpressアプリケーション自身でAngularビルドファイルを提供してきました。あなたは、このような角度ビルドディレクトリから静的コンテンツを提供するためにExpressを伝えることができるはずです:
あなたがそうのようなファイル構造を有しており、ノードとserve.js
を実行していた場合に働くだろう
app.use(express.static('../accounting-client/dist'));
:
-accounting-server
-serve.js
-accounting-client
-dist/*
必要に応じてAngularビルドフォルダを設定するか、Grunt/Gulpを使用してビルドタスクで好きなフォルダにファイルを移動することで、必要に応じてカスタマイズできます。
Yakovによると、これはAngular devサーバーの自動更新では機能しないため、開発には理想的ではありません。
Node.jsが同じポート上にAngularアプリケーションを提供するには、静的リソースが配備されているノードのディレクトリの下にAngularアプリを配備する必要があります。しかし、devモードでは、DevサーバからAngularバンドルを提供する方が生産性が高くなります(コード化されたときに自動的にメモリに再構築されます)。ノード4200上のノードサーバは別のポート上で動作する。 8080.
原点を越えないようにするには、すべてのデータリクエストをノードサーバーにリダイレクトするために、Angularアプリで簡単なプロキシファイルを設定する必要があります。
{
"/api": {
"target": "http://localhost:8080",
"secure": false
}
}
これは、それが実行されると仮定して、あなたのノードのサーバーへのURLで/ APIを持っているすべての要求をリダイレクトします:たとえば、あなたの角度のプロジェクトのルートディレクトリにファイルプロキシconf.jsonを作成ポート8080次に、以下のコマンドを使用して、角度のアプリを起動します。あなたの角度Appで
ng serve --proxy-config proxy-conf.json
HTTPリクエストは次のようになります。
http.get('/api/products');
もちろん、ノードサーバーでGET要求の/ api/productsエンドポイントを設定する必要があります。
非常に便利です!ありがとう。 – SpaceFozzy
こんにちはYakov、私はビデオチュートリアルhttps://www.youtube.com/watch?v=PFP0oXNNvegのリンクを参照しました。それを確認して元に戻すことはできますか? –
設定ファイルを作成して上記のコードを追加しました。後でエラー "コンストラクタ(_configPath、schema、configJson、fallbacks = [])"を取得し続けます。 –
spacefozzyのように、Expressプロジェクト内からクライアント側のプロジェクトにアクセスする必要があるという事実は真です。それでもあなたはプロジェクトを分けておくことができます。
がそうするためには、あなたExpressのプロジェクトディレクトリにあなたのクライアント側のプロジェクトディレクトリからシンボリックリンクを作成することができます。
// while in Express directory
ln -s ~/path/tp/client-side/build name-in-espress-dir
あなたが孤立プロジェクトを維持することができるこの方法を。
- 1. アンドロイド - 同じIPとポートに2つのソケットを実行するにはどうすればいいですか?
- 2. node-expressサーバーを正しく閉じるにはどうすればいいですか?
- 3. Node ExpressアプリケーションでDRYを実行するにはどうすればいいですか?
- 4. 同じポートで反応してノードapiサーバーを起動するにはどうすればいいですか?
- 5. Node/ExpressのJSをクライアントからサーバーに移動するにはどうすればいいですか?
- 6. チェロキーを使用して、同じIPのメインサーバーではあるが、別のポートで仮想サーバーを実行するにはどうすればよいですか?
- 7. 同じサーバーとポートで複数のヨー角 - フルスタックアプリケーションを実行するにはどうすればよいですか?
- 8. PhoneGapデスクトップアプリケーションの同じポートを使用してPhoneGapをExpressで実行させるにはどうすればよいですか?
- 9. nginxで同じポートに複数のドメインを提供するにはどうすればいいですか
- 10. NodeJS Expressサーバーを設定するにはどうすればよいですか?
- 11. 同じポートでノードexpress、binaryserver、socket.ioを起動する方法は?
- 12. swarmマネージャと同じマシン上でドッカーswarmノードを実行するにはどうすればよいですか?
- 13. クリックイベントで同じコードをダブルクリックイベントとして実行するにはどうすればよいですか?
- 14. NodeとExpressで非ブロッキング遅延応答を設定するにはどうすればよいですか?
- 15. Angular-CLIでAngularアプリケーションでAOTを実行するにはどうすればよいですか?
- 16. 同じポート上でapacheサーバーとノードを実行
- 17. 2つのプロセスを同じCPU上で実行するにはどうすればいいですか?
- 18. MSMブーストライブラリで同じサブステートマシンの複数のインスタンスを実行するにはどうすればいいですか
- 19. 同じソリューション内で別のプロジェクトを実行するにはどうすればいいですか?
- 20. Angular Materialダイアログで同じコントローラを使用するにはどうすればいいですか?
- 21. クライアントとサーバーを同じセマフォにリンクするにはどうすればいいですか
- 22. http.serverをポートなしで、単にlocalhostで実行するにはどうすればいいですか?
- 23. 2台の(デュアルブート)OSから同じEclipseインストールを実行するにはどうすればいいですか?
- 24. Node + Expressでは、個々のルートにCORSを設定するにはどうすればよいですか?
- 25. OpenTripPlanner:デフォルト8080と異なるポートでスタンドアロンインスタンスを実行するにはどうすればよいですか?
- 26. flume-nodeコマンドを使用して同じマシン上でエージェントノードとコレクタノードを実行するにはどうすればよいですか?
- 27. MacでPython上でクライアントとサーバー(ソケット)を実行するにはどうすればいいですか?
- 28. IIS Express - Visual Studio - 同じポート上で複数のサイトを実行する
- 29. ボタンとhrefを同じクラスの同じサイズにするにはどうすればいいですか?
- 30. 同じポートでcouchdbとsuperloginを実行する方法は?
Expressやnode.jsを使用して静的コンテンツ(AngularJSアプリを含む)を提供しないことをお勧めします。 –