Expressはサーバー上にあり、Angularはクライアント上にあることを理解していますが、私の知る限り、AngularはExpressができることをすべて実行できます。
AngularJSアプリをNode.jsで提供するにはExpressが必要なようですが、よくわかりません。
つまり、AngularJSアプリにExpressを追加するメリットは何ですか?
サーバー側で行うべきこと(つまり、AngularではなくExpress)があります。最も顕著なのはユーザー入力の検証です。Angularはクライアント側であるため、改ざんされる可能性があります。
また、Webアプリ(モバイルアプリなど)以外のアクセスタイプを提供したい場合は、とにかくAPIが必要になるでしょう-Expressはこれを行うことができます、Angularしないでください。
最後に、データベースアクセス-通常AngularアプリはCRUD操作を実行するために何らかのバックエンドに接続する必要があります。FirebaseなどのホストされたDBを使用するか、後者のシナリオはより一般的であり、そのためにはExpress(または同様の)が必要です。
ExpressとAngularJSは相互に除外することはなく、異なる目的に使用されます-実際、両方を使用するのはまったく問題ありません-すべてのサーバーサイドロジックで表現し、Angularクライアントサイドロジックで表現します。
Expressは、AngularJSのサービス/ファクトリが使用するAPIをホストするために使用できます。 AngularJSをMVC
と見なし、ExpressのAPIをSOA
と見なすことができます。
サーバーから制御したいものがたくさんあります。そして、それはサーバー側のフレームワークが姿を現す場所です。
Webアプリは、互いにリンクされたHTMLページだけではありません。実装する必要がある他の多くのものがあります
他のそのようなことはサーバーフレームワークを必要とします。したがって、前述のように、AngularJSのようなクライアント側フレームワークはサーバー側フレームワークを補完します。