TIL 211207
😹 Today
今日はHAの日
困難
しかし、私はやはりあなたがずっとあきらめないでずっと私を捕まえていることを賞賛します!
くじけないで元気を出して行こう
試験の後、第2節expressはもう一度復習した.明日もテストが出てくる部分.前回はやりかけで忘れてしまった
復習も進化していて、expressレッスンを始めたばかりの頃は何だったのか分かりませんでしたが、少し前に復習した時にYouTubeやブログなどを見て理解を助け、今日は公式文書を読んでいます.ほほほ、しかし公式の書類はいつも難しいです.
公式文書を熟知していて、欠点を選ぶのが得意で、仕事意欲があり、コミュニケーション能力が強く、開発が面白く、健康的な開発者になりたいです^^
👄 Expressミドルウェア
👊 MERN
MERN stackとは、MongoDB、Express、React、Nodeのこと.(JavaScriptエコシステムで人気の第4世代フレームワーク)
ここでExpressjsはノードです.js環境でWebサーバ、またはAPIサーバを作成するための人気フレームワーク.
Expressフレームワークはnpmでダウンロードできます.
Expressで実装したサーバはHTTPモジュールで作成したサーバとは異なる
1.ミドルウェアを追加するのは便利です.
2.独自のルーターを提供します. (npm install express-router)
👊 MERN
MERN stackとは、MongoDB、Express、React、Nodeのこと.(JavaScriptエコシステムで人気の第4世代フレームワーク)
ここでExpressjsはノードです.js環境でWebサーバ、またはAPIサーバを作成するための人気フレームワーク.
Expressフレームワークはnpmでダウンロードできます.
Expressで実装したサーバはHTTPモジュールで作成したサーバとは異なる
1.ミドルウェアを追加するのは便利です.
2.独自のルーターを提供します. (npm install express-router)
クライアントは、HTTPリクエストを特定のHTTPリクエストメソッド(GET、POSTなど)またはサーバの特定のURI(またはパス)に送信する.ルーティングは、クライアント要求の方法およびエンドポイントに基づいてサーバ応答を決定する方法である.
// 순수 node.js코드로 라우팅 구현
const requestHandler = (req, res) => {
if(req.url === '/lower') {
if (req.method === 'GET') {
res.end(data)
} else if (req.method === 'POST') {
req.on('data', (req, res) => {
// do something ...
})
}
}
}
//Express는 프레임워크 자체에서 라우터 기능을 제공한다.
const router = express.Router()
router.get('/lower', (req, res) =>{
res.send(data)
})
router.post('/lower', (req, res) =>{
// do something
})
👊 常用ミドルウェア
ミドルウェアを使用する場合は、次のようになります.
以下にmyLogerというミドルウェア関数の簡単な例を示します.
next()をもう一度よく見てみましょう.なんだろう.
var myLogger = function (req, res, next) {
console.log('LOGGED');
next();
};
👣 next()
この関数を呼び出すと、アプリケーションの次のミドルウェア関数が呼び出されます.next()関数はNodeです.jsまたはExpress APIの一部ではありませんが、ミドルウェア関数に渡される3番目のパラメータです.ミドルウェア関数myLoggerはメッセージを印刷し、next()関数を呼び出してスタック内の次のミドルウェア関数に要求を渡すだけです.
🖐 ミドルウェア関数をロードするにはappを使用します。use()を呼び出せばいいです。
たとえば、ルートパス(/)にルーティングする前にmyLoggerミドルウェア関数をロードします.
var express = require('express');
var app = express();
var myLogger = function (req, res, next) {
console.log('LOGGED');
next();
};
app.use(myLogger);
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000);
devコマンドとして使用できます
参考資料
-コードステータス
-express公式ドキュメント
- https://velog.io/@chy0428/Node-JS-Nodemon-%EC%84%A4%EC%B9%98
Reference
この問題について(TIL 211207), 我々は、より多くの情報をここで見つけました https://velog.io/@soyoungdl/TIL-211207テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol