express構文整理

9917 ワード

expressはノードです.jsのWebフレームワークは、WebアプリケーションAPIをサポートします.実際のノード.jsの標準サーバフレームワークと呼ばれています.
expressのインストール方法
https://expressjs.com/ko/
サイトリファレンス
Expressサーバの構築
expressモジュールを読み込み、使用します.
変数にexpress()を割り当てると、サーバが作成されます.
ルータ(メソッド)を使用してリクエストにプログラミング応答します.
expressはhttpモジュールの構文も提供します.
app.get('/', (req, res) => {
	res.send('Hello World!')
})

app.listen(port, () => {
	console.log(`Example app listening at http://localhost:${port}`)
})
httpモジュールは、条件文を使用して、方法とurlに基づいて応答を符号化します.
expressは、対応するメソッド名として使用し、最初のパラメータを使用してurlを書きます.
リクエストに応じて応答を設計します.
res.send()は、パラメータを応答のbody値として送信する方法である.
res.json()は、パラメータを応答のbody値としてjson形式で送信する方法である.(JSONStringify)
ルータに入るコールバック関数はミドルウェアです.
ミドルウェアは、リクエストに必要な機能を追加したり、応答を作成したりするために必要なアクションの空間です.

1つのルータは、next()を呼び出さない限り、複数のミドルウェアを転送することができる.
次のミドルウェアは動作せず、停止状態です.

let express = require('express');
let app = express();

let myLogger = function (req, res, next) {
  console.log('LOGGED');
  next();
};

app.use(myLogger);

app.get('/next', function (req, res) {
  console.log('start');
  res.send('Hello World!');
});

app.listen(3000);
構造化body(ペイロード)の場合、HTTPは少し複雑な方法でbodyを取得するが、express
body-parserミドルウェアはこのプロセスを簡略化した.
const jsonParser = express.json()

// 생략
app.post('/api/users', jsonParser. function(req, res){
         // req.body에는 JSON의 형태로 payload가 담겨져 있습니다.
})
すべてのリクエスト/レスポンスにCORSヘッダを追加すると、httpモジュールはWriteHeadメッセージを使用して各メソッドにCORSヘッダを作成します.しかし、expressはcorsミドルウェアを使用してこのプロセスを簡略化することができます.
const cors = require('cors')

app.use(cors()) // 모든 요청에 대해 CORS 허용
corsモジュールを特定のリクエストにのみ適用することもできます.
// 생략
// 특정 라우터에 cors 허용
app.get('/customer/:uid', cors(), function(req, res, next){
        res.json({message: 'cors enable for a single route'})
})
すべてのリクエストに特定のミドルウェアを適用する場合はuseを使用します.
cosnt express = require('express')
const app = express()

const trigger = function (req, res, next) {
  console.log('trigger')
  netx()
}

app.use(trigger); // 모든 라우터에 trigger 미들웨어 적용

app.get('/', function (req, res) {
  res.send('Hello World!')
}
        
app.listen(3000)