TIL-Express-ルータの切断
ルーティングとは?
ルーティングの概念
ルーティング(英語:routing)は、あるネットワーク内で通信データを送信する際に最適なパスを選択するプロセスです.最適なパスは、所与のデータを最短距離または最短時間で伝送するパスである.
ルーティングとは、ネットワークからパケットを送信する際に最適なパスを選択するプロセスです.ルータとは,ネットワーク7層OSIモデルにおいてルーティング機能を担う機器(ルータ)である.
しかし、上記の定義は多少は理論的(歴史的)定義と言える.Web開発フレームワークで用いられるルーティングの概念は,クライアントから要求されたURLとビューをマッチングするといえる.
#ルータを切断する必要がある
#Expressからルータを切り離す
サーバファイルの作成
まず、サーバファイル(app.js)
const express = require('express');
const app = express();
const cors = require('cors');
// 서버 생성
const server = app.listen(8000, () =>
console.log('Start Server: localhost:8000')
);
ルータフォルダの作成
users.js
)// 패키지 express 를 활용하여 라우터 객체 생성
const router = require('express').Router();
// 생성된 라우터 객체를 활용해 라우터 정의
router.get('/login', async (req, res) => {
res.send('This is login page')
});
// 생성한 라우터 객체를 모듈화시키기
module.exports = router
ルータオブジェクトをミドルウェアとして登録する
まず、作成されたルータモジュール
users.js
のルータオブジェクトをインポートする.const express = require('express');
const app = express();
const cors = require('cors');
// 라우터 객체 import 하기
const user = require('./routes/users');
// 서버 생성
const server = app.listen(8000, () =>
console.log('Start Server: localhost:8000')
);
// users.js의 라우터 객체를 미들웨어로 등록
app.use('/users', user)
#複数種類のミドルウェアの登録
app
)は、ルータのほかに、複数のミドルウェアを登録することもできます.app.js
オブジェクトを登録することが典型的な例である.cors()
const express = require('express');
const app = express();
const cors = require('cors');
const user = require('./routes/users');
// 서버 생성
const server = app.listen(8000, () =>
console.log('Start Server: localhost:8000')
);
// users.js를 미들웨어로 등록
app.use('/users', user)
// request의 body 데이터에 접근하기 위해 미들웨어 등록
app.use(express.json() );
app.use(express.urlencoded( {extended : true } ));
// CORS 미들웨어 등록
app.use(cors());
// 오류 처리 미들웨어 등록
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).send('JsonDecodeError!')
});
// server 객체를 모듈화시키기
module.exports = server
Reference
この問題について(TIL-Express-ルータの切断), 我々は、より多くの情報をここで見つけました https://velog.io/@fcfargo/TIL-Express-라우터-분리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol