[TIL] Day36- Web Server(2)
7836 ワード
Achievement Goals
node.jsモジュールの使用
ルーティングとAPI
Expressライブラリ
サーバの開発とデバッグ
CommonJSを使用してモジュールをエクスポート/ロードできます.
exportsによるエクスポート/インポート
//func.js
function func1 (param) {
// 생략
}
exports.func1 = func1
const obj = require('./func')
obj.func1(10)
obj.func2(20)
module.exportsによるエクスポート/インポート// func.js
const obj = {
func1: function (num) {
// ...
},
func2: function (num) {
// ...
}
}
module.exports = obj
const obj = require('./func')
obj.func1(10)
obj.func2(20)
特別な場合でなければ、module.推奨exportsルーティングとAPI
클라이언트는 특정한 HTTP 요청 메소드(GET, POST 등)나 서버의 특정 URI(또는 경로)로 HTTP 요청을 보냅니다.
라우팅은 클라이언트의 요청에 해당하는 메소드와 Endpoint에 따라 서버가 응답하는 방법을 결정하는 것입니다.
if (req.url === '/lower') {
let data = '';
req.on('data', chunk => {
data = data + chunk;
});
req.on('end', () => {
data = data.toLowerCase();
res.writeHead(201, defaultCorsHeader);
res.end(data);
});
URL(/lower)にPOSTメソッドを使用する場合に使用するコードreq.url === '/lower'
もexpressもご利用いただけますこのように
app.post('/lower', func(){})
を利用することもできる.サーバAPIドキュメントはクライアントが使用できるように作成できますが、作成するしかありませんが、うまくいかない場合があります.
Expressライブラリ
app.post('/lower', func(){})
のように、必要な方法に従って記述することができるので、作業が簡単になる可能性がある.現在、ミドルウェアの概念はまだ完全に理解されていない.4つのケースだけが中衛をよく使う.
1.すべてのリクエストのurlまたはメソッドをチェックする
2.構造化POST要求等を含むbody(負荷)の場合(容易に取得したい場合)
3.すべての要求/応答にCORSヘッダを付けなければならない
4.認証要求ヘッダーにユーザー認証情報が含まれているかどうかを確認する
関連コードが書かれたブログやサイトを見つけました.
https://expressjs.com/ko/guide/using-middleware.html
https://velog.io/@yesparrot/express%EC%99%80-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4-3zhxqc5w
私はまたexpressにもっと勉強しなければならないと思います.私はexpressを少し知っていれば、中間品があると思います.料理や料理をどう見ても、理解できないところがたくさんあるからです.今始まったばかりなので、疲れないようにしましょう.
Reference
この問題について([TIL] Day36- Web Server(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@source39/TIL-Day36-Web-Server2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol