ミドルウェア関数は以下のタスクを実行できます。任意のコードを実行する。リクエストオブジェクトとレスポンスオブジェクトを変更する。リクエストレスポンスサイクルを終了する。スタック内の次のミドルウェアを呼び出す。アプリケーションで使用するミドルウェアの作成こちらの記事がわかりやすそう。Express.JSでは、複数のURLパスへのリクエストに対して行う処理をミドルウェアというまとまりにして、リクエストレスポンスサイクルの中間に配置することができます。ミドルウェアはいくつでも登録・実行させることがき、連続したミドルウェアのことをミドルウェアチェーンと呼びます。ミドルウェアには以下のタイプがあります。BLOGこの「サード・パーティー」にあたる部分がNuxt.jsやNext.jsなのかな。React、Vue、AngularとExpressの連携ここら辺は読み込んではいないが今後やりたいことのキーワードとしてまとめておく。VueとExpressSSRを使わないSPAの場合はVue.jsとExpressを連携する。Qiita先ほどのNuxt.jsのExpressの連携。QiitaSSRはVueだけでもできるぽい。QiitaReactとExpressReactとExpressと連携。NoteReactのSSRでNext.jsとExpressを連携。※参考:https://kuriyama-blog.com/articles/nextjs-express-api-server-componentSSRはReactだけでもできるぽい。AngularとExpressの連携を調べているときに似た言葉で「MEANスタック」というのもあった。QiitaLAMPの「L」に当たるOSへの言及がないので、OSは自由という理解でいいと思う。LAMPの「A」はMEANではNでNode環境。サーバ上でJSを実行できる。LAMPの「M」はMEANでもMでMongoDB。JSONライクなDB!Node.jsと相性がいいのはよくわかる。※参考:https://kageura.hatenadiary.jp/entry/2018/01/08/MongoDB%25E4%25BA%258B%25E5%25A7%258B%25E3%2582%2581%25E3%2580%2582%25E5%2580%258B%25E4%25BA%25BA%25E7%259A%2584%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%2581そしてLAMPの「P」の部分がMEANではJSになる。MEANの「E」「A」の部分がLAMPでは言及がない。Rails)が該当すると思う。この「A」が今ではAngularだけでなくReactやVueという選択肢も出てきたということか!MVC、MVWフレームワークとはMEANスタックにおいてExpressの役割は「MVCフレームワーク」とあった。MVCも良く聞く概念。Laravelなんかでも出てきた。Web白熱教室ふむふむ。どちらかというとコードの機能と構造の関係を表す部分なわけだ。AngularはMVWフレームワークだと。MVについて議論するのは時間の無駄だから、そんな暇があったらコードを書け。MVの*の部分なんて"Whatever"でいいんだ。React、Vue、AngularなどのJSフレームワークを使わないとExpress単体ではWebアプリは作れないのだろうか?調べるとHTML部分はEJSやPugなどのテンプレートエンジンを使えばいいようだ!インストールするときにオプションとして選択するらしい。QiitaつまりExpressの思想はコアな部分は必要最低限のみ用意するだけ。あとは必要に応じて自由に機能を追加して組み合わせればいいということみたい!だからテンプレートエンジンで済ませたりVue、React、Angularなどのフレームワークと組み合わせたりいろんな選択肢があるということね。Express以外のNodeフレームワークなお、Node.jsのフレームワークはExpress以外にもいろいろあるようだ。Qiitaこの中ではExpress、Meteor、Sailsが三大フレームワークという位置づけのようだ。プログラミング入門者向けサイトフルスタックフレームワーク「Meteor」ってちょっと気になるのだが、最近はあまり更新されてないっぽい。Blogやはり広範囲なフルスタックな技術を最新に保つのは結構ハードな作業な気がする。小さい機能を組み合わせる方が時代の風潮か。最後にということでExpressとNuxt.jsの違いもわかってない状況からだいぶイメージが湧いてきました。同じような方がいれば少しでも助けになると嬉しいです。この雲を掴むような「わからなさ」っててやはりネットワークやサーバサイド、バックエンドに対する圧倒的な知識不足から来ていると思っています。凝ったバックエンドの開発はできないまでもどこまでのことができるのか?シリーズ化していきます。それではまた!Expressを習得するためにやったことまとめqiita.com*1:以前トライしたLaravelを今中断してるのも同様です。08:35Tweet関連記事2020-01-07【Vue.js】vuex-persistedstateでデータをローカルストレージに保存するVue.jsの続きです。JSフレームワークReact、はじめました。今回は初回...2019-11-01【Vue.js】Nuxt.jsのプロジェクトを作成するVue.jsの続きです。CLIをインストールしてみる(CDN、Nuxe.jsとの違い)Vue.jsの続きです。前回はNuxt.jsで何ができるか調べました。今...2019-09-18【Vue.js】Nuxt.jsで何ができるのか調べた(SSR、ルーティング、静的ファイル生成など)Vue.jsの続きです。はてなブログProフロントエンドエンジニア。神奈川に住まう四十路のオジキ。DTP→Webデザイナーから転向し今に至る。引き続きコツコツの日々。(24)リンクTwitterInstagramYoutubeCodePenGitHubPinterestQuolaFacebooknoteQiitaはてなブログをはじめよう!idr_zzさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。