[NodeJs] Express 사용하기

[NodeJs] Express 사용하기 updated_at: 2023-12-27 18:48

Express를 활용한 웹서버 구축하기

express install

npm i express

기본적인 구조

- public
  - .html
- .js

기본적인 Express

const express = require('express')
const http = require('http');

// 익스프레스 객체 생성
const app = express();

// 기본 포트를 app 객체에 속성으로 설정
app.set('port', process.env.PORT || 3000);

// Express 서버 시작
http.createServer(app).listen(app.get('port'), () => {
  console.log('익스프레스 서버를 시작했습니다 : ' + app.get('port'));
});

미들웨어 추가

const express = require('express')
const http = require('http');

// 미들웨어 추가
// 익스프레스 객체 생성
const app = express();

// 직접 미들웨어 객체를 만들어 설정
app.use(function(req, res, next) {
  console.log('첫번째 미들웨어에서 요청을 처리함.');

  res.writeHead('200', {'Content-Type': 'text/html;charset=utf8'});
  res.end('<h1>Express 서버에서 응답한 결과입니다.</h1>');
});

// Express 서버 시작
http.createServer(app).listen(3000, () => {
  console.log('Express 서버가 3000번 포트에서 시작됨.');
});

미들웨어

const express = require('express')
const http = require('http');

// 미들웨어 추가
// 익스프레스 객체 생성
const app = express();

// 첫번째 미들웨어에서 다음 미들웨어로 넘김
app.use(function(req, res, next) {
  console.log('첫번째 미들웨어에서 요청을 처리함.');
  req.user = 'mike';
  next();
});

// 두번째 미들웨어에서 응답 전송
app.use('/', function(req, res, next) {
  console.log('두번째 미들웨어에서 요청을 처리함.');
  res.writeHead('200', {'Content-Type': 'text/html;charset=utf8'});
  res.end('<h1>Express 서버에서 ' + req.user + '가 응답한 결과입니다.</h1>');
});

// Express 서버 시작
http.createServer(app).listen(3000, () => {
  console.log('Express 서버가 3000번 포트에서 시작됨.');
});

sample4

const express = require('express')
const http = require('http');

// 미들웨어 추가
// 익스프레스 객체 생성
const app = express();

app.use(function(req, res, next) {
  console.log('첫번째 미들웨어에서 요청을 처리함.');
  res.send({name: '소녀시대', age: 20});
  // res.redirect('http://google.co.kr');
});

// Express 서버 시작
http.createServer(app).listen(3000, () => {
  console.log('Express 서버가 3000번 포트에서 시작됨.');
});

sample5

const express = require('express')
const http = require('http');

// 미들웨어 추가
// 익스프레스 객체 생성
const app = express();

app.use(function(req, res, next) {
  console.log('첫번째 미들웨어에서 요청을 처리함.');
  // http://localhost:3000/?name=pondol
  const userAgent = req.header('User-Agent');
  const paramName = req.query.name;

  res.writeHead('200', {'Content-Type': 'text/html;charset=utf8'});
  res.write('<h1>Express 서버에서 응답한 결과입니다.</h1>');
  res.write('<div><p>User-Agent : ' + userAgent + '</p></div>');
  res.write('<div><p>Param name : ' + paramName + '</p></div>');
  res.end();
});

// Express 서버 시작
http.createServer(app).listen(3000, () => {
  console.log('Express 서버가 3000번 포트에서 시작됨.');
});

sample6

const express = require('express')
const http = require('http');

// 미들웨어 추가
// 익스프레스 객체 생성
const app = express();

app.get('/', (req, res) => {
    res.send('root');
});

app.route('/book')
    .get((req, res) => {
        res.send('Get a random book');
    })
    .post((req, res) => {
        res.send('Add a book');
    })
    .put((req, res) => {
        res.send('Update the book');
    });

// Express 서버 시작
http.createServer(app).listen(3000, () => {
    console.log('Express 서버가 3000번 포트에서 시작됨.');
});

sample7

const express = require('express')
const http = require('http');
const fs = require('fs');
const path = require('path');

// 익스프레스 객체 생성
const app = express();

app.get('/', (req, res) => {
  res.send('Welcome To Node Project');
});

app.route('/chat')
    .get((req, res) => {
    //    res.writeHead(200);
    //    res.end(fs.readFileSync(path.join(__dirname, '/public/chat.html')));
      res.sendFile(path.join(__dirname, '/public/chat.html'));
    })
    .post((req, res) => {
      res.send('Add a book');
    })

// Express 서버 시작
http.createServer(app).listen(3000, () => {
  console.log('Express 서버가 3000번 포트에서 시작됨.');
});
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글