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.json의 start 스크립트) 콘솔에서 실행 (start는 너무 유명해서 run 안 붙여줘도됨)
res.sendFile로 HTML 서빙 가능
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 |