learn-nodejs
server1.js
const http = require('http')
const fs = require('fs').promises
http.createServer(async (req, res)=>{
try{
const buffer = await fs.readFile('./server2.html')
res.writeHead(200, {'Content-Type': 'text.html; charset=utf-8'})
res.end(buffer)
}catch(err){
console.error(err)
res.writeHead(500, {'Content-Type': 'text.html; charset=utf-8'})
res.end(err.message)
}
})
.listen(8080, ()=>{
console.log('8080포트에서 서버 시작됨...')
})
server2.js
const http = require('http')
http.createServer((req, res)=>{
//요청을 받고 응답을 하는 콜백 함수
if(req.url === '/'){
res.write('hello')
res.end()
}
}).listen(8080, ()=>{
//서버 시작시 실행되는 콜백 함수
console.log('8080포트에서 서버 대기중...')
})
server2.html
!엔터
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Node.js 웹 서버</title>
</head>
<body>
<h1>Node.js 웹 서버</h1>
<p>준비 완료</p>
<p>Hello World!</p>
</body>
</html>
express1.js
const express = require('express');
const app = express();
//const port = 8080;
//app.set('port', 8080);
app.set('port', process.env.PORT || 8080);
app.get('/', (req, res)=>{
//_dirname은 현재 실행중인 파일이 포함된 디렉토리의 절대경로를 알려주는 환경변수
const path = __dirname + '/index.html';
console.log(path);
res.sendFile(path);
});
const port = app.get('port');
app.listen(app.get('port'), ()=>{
console.log(`port: ${port}에서 서버 실행중...`);
});
express2.js
const express = require('express');
const app = express();
//미들웨어
const myLogger = function(req, res, next){
console.log('logged');
next();
};
//미들웨어 등록
app.use(myLogger);
//라우터
app.get('/', (req, res)=>{
res.send('<h2>Hello World!</h2>');
});
//서버를 시작
app.listen(8080, ()=>{
console.log('8080포트에서 서버 시작됨');
});
index.html
!엔터
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>express로 웹 만들기</title>
</head>
<body>
<h2>express로 웹 만들기</h2>>
<p>메인 페이지 입니다.</p>
</body>
</html>
-> 모듈 만들어서 코드 나누기
express2.js
const express = require('express');
const app = express();
const myLogger = require('./myLogger');
//미들웨어 등록
app.use(myLogger.log);
//라우터
app.get('/', (req, res)=>{
res.send('<h2>Hello World!</h2>');
});
//서버를 시작
app.listen(8080, ()=>{
console.log('8080포트에서 서버 시작됨');
});
myLogger.js
//미들웨어 정의
const myLogger = function(req, res, next){
console.log('logged');
next();
};
//모듈
module.exports = {
log : myLogger
};
moment npm 설치하기
myRequestTime.js
//날짜 포멧 모듈 가져오기
const moment = require('moment');
//미들웨어 함수 정의
const reqTime = function (req, res, next){
req.requestTime = moment(Date.now()).format("YYYY-MM-DD HH:mm:ss");
next();
};
//모듈화
module.exports = reqTime;
express2.js
const express = require('express');
const app = express();
const myLogger = require('./myLogger');
const myReqTime = require('./myRequestTime');
//미들웨어 등록
app.use(myLogger.log);
//미들웨어 등록
app.use(myReqTime);
//라우터
app.get('/', (req, res)=>{
res.send(`<h2>Hello World! ${req.requestTime}</h2>`);
});
//서버를 시작
app.listen(8080, ()=>{
console.log('8080포트에서 서버 시작됨');
});
'웹, 데이터베이스, 네트워크 프로그래밍 > 수업 내용' 카테고리의 다른 글
view 와 프로시저 (procedure) - MySQL Workbench (0) | 2021.12.28 |
---|---|
서버만들고 응답-2 (0) | 2021.12.28 |
서버만들고 응답 (0) | 2021.12.28 |
Nodejs - async/await 연습 (0) | 2021.12.28 |
Nodejs - visual studio code (0) | 2021.12.28 |