web-dev-qa-db-ja.com

MEANスタック:angularルーティングvsエクスプレスルーティング

私はangularを私の生成されたプロジェクトで使い始めて、それを愛しています。最近、angularルーティングをテストプロジェクトの1つに実装し、 m angularルーティングを純粋なエクスプレス/ノードルーティングで使用することの利点と欠点は何ですか(たとえば、この方法で技術的な問題があるか、SEOであるか、まったく不要か)。

参考までに、私はメインインデックステンプレートを高速レンダリングし、すべてのリクエスト(すべてをキャッチ)をメインインデックステンプレートにルーティングし、次にangularを使用して部分テンプレートにルーティングしますメインインデックステンプレート内から

22
zero

平均スタック(mongo、express、angular)では、両端にルーティングがあります。

Expressは静的なindex.htmlとcss/js/imagesとAPIを提供し、angularはAPIと対話してmongoからデータを取得します。

Expressによるルーティングは主にAPIに対して行われ、angularでのルーティングはアプリケーションのフロントエンドを処理するために行われます。Expressはindex.htmlとAngular用に作成したテンプレートパーシャル。ただし、gulp/gruntなどのビルドツールを使用してすべてのテンプレートをjsファイルに直接コンパイルすることで、テンプレートのパーシャルを削除することもできます。


どちらか一方に100%移動することは確かに可能ですが、どちらか一方を非効率的に使用することになり、実用的ではありません。たとえば、すべてのルーティングを高速で実行し、個々のページでangularを使用した場合、すべての単一ページアプリ機能とangularjsのルーティングが無視され、目的はおそらくExpressとJade(または他のテンプレートエンジン)を使用してより効果的にページを構築できます。他の方向に進んでangularですべてのルーティングを行うことは実際には不可能です。 = angularからデータを取得するにはAPIが必要です。ただし、HTMLにすべてのデータを直接インラインで含めない限り、同意することは間違いだと思います。(その時点でmongoも削除されます。

31
Kevin B

彼らは2つの異なる問題を解決しています。 Angular routing(ui-router)is client-side-loading a correct ui-views。Express routing is server-side-REST APIs you you exposed 。

6
Brad Barber