Node.js

익스프레스 (express)

쿠와와 2020. 12. 18. 11:45
1. Express 소개

http 모듈로 웹 서버를 만들 때 코드가 보기 좋지 않고, 확장성도 떨어짐

  • 프레임워크로 해결
  • 대표적인 것이 Express(익스프레스), Koa(코아), Hapi(하피)
  • 코드 관리도 용이하고 편의성이 많이 높아짐

www.npmtrends.com/express-vs-koa

여기서 트렌드를 비교해서 사용하면 좋다. ( 업데이트를 최근에 한 것, 가장 많이 사용하는 것 )

 

2. package.json 만들기

직접 만들거나 npm init 명령어 생성

  • nodemon이 소스 코드 변경 시 서버를 재시작해줌

3. app.js 작성하기

서버 구동의 핵심이 되는 파일

  • app.set(‘port’, 포트)로 서버가 실행될 포트 지정
  • app.get(‘주소’, 라우터)GET 요청이 올 때 어떤 동작을 할지 지정
  • app.listen(‘포트’, 콜백)으로 몇 번 포트에서 서버를 실행할지 지정
  • app.js: 핵심 서버 스크립트
  • public: 외부에서 접근 가능한 파일들 모아둠
  • views: 템플릿 파일을 모아둠
  • routes:  서버의 라우터와 로직을 모아둠
    • 추후에 models를 만들어 데이터베이스 사용
const express = require('express');
const path = require('path');   // 경로 관련 
// http를 내부적으로 사용하고 있는 것임

const app = express();
// 우리가 포트를 바꾸고 싶으면 set port 80 할 수 있지만 하지말기, (다른 프로그램이랑 포트 문제)
app.set('port', process.env.PORT || 3000);    // 서버에 속성을 넣어줌 

// http 메소드와 url을 보내주는 것 
// app에대가 메소드를 붙여주는 형식 
app.get('/', (req, res) => {  
  res.send('Hello, Express');
  res.sendFile(path.join(__dirname, '/index.html'));  // 현재 폴더에 대해
});

app.listen(app.get('port'), () => {
  console.log(app.get('port'), '번 포트에서 대기 중');
});
// nodemon 없는 페이지는 알아서 404 띄워줌
// 프로젝트 파일이 바꿔면 알아서 바꿔줌 

npm start (package.jsonstart 스크립트) 콘솔에서 실행 (start는 너무 유명해서 run 안 붙여줘도됨)

 

res.sendFileHTML 서빙 가능

 

list, ls 로 패키지가 사용 중인지 알아 볼 수 있음 , 상관 관계를 볼 수도 있음. (ll은 좀 더 자세한 설명)

'Node.js' 카테고리의 다른 글

라우터 객체로 라우터 분리와 req, res 객체 살펴보기  (0) 2020.12.22
미들웨어  (0) 2020.12.21
npm 명령어들과 배포방법  (0) 2020.12.17
node_modules, SemVer 버저닝  (0) 2020.12.17
npm, package.json 패키지 관리  (0) 2020.12.16