NodeJS
- JavaScript를 실행시키는 런타임 환경
- 프로그래밍 언어(프레임워크 X)
- Single-Thread 기반
- 비동기 방식
- 이벤트 기반
- Back-end에서만 사용 X(ex-Babel(즉, 프론트에서도 사용)
Express
- NodeJS 기반의 MVC(Model View Controller) 웹 애플리케이션 프레임워크
- 서버 구축하기 쉽게 틀을 제공
1) HTTP 요청 본문 파싱(bodyParser 처리)
2) 쿠키 파싱(cookieParser 알아서 app.use)
3) 세션 관리
4) 데이터 타입 토대로 한 적절한 응답 헤더 결정
Express 시작하기
1) 직접 설정
- NodeJS, npm 설치
- npm init or yarn init -> package.json 생성
- npm install express --save or yarn add express --dev -> express 설치
(--save나 --dev처럼 의존성에 추가해야 나중에 npm install시 추가됨)
- app.js 작성
const express= require("express");
const app = express();
const port = 3000;
/* /에 대한 get 요청 처리 */
app.get("/", (req, res) => {
res.send("Hello World!");
});
/* PORT 열기 */
app.listen(port, ()=>{
console.log(`Listening Service at ${port}`);
})
2) Express-generator 사용(편리)
- NodeJS, npm 설치
- npm install express-generator -g or yarn global add express-generator -> express-generator 설치
- express 프로젝트이름
- npm install
- npm start or yarn start
express 기본 구조
ㅡpackage.json : npm 의존성 파일들을 관리하는 중심 파일
ㅡbin
ㅡwww : 서버를 실행하는 스크립트 프로젝트에 할당되는 포트 변경 가능
ㅡpublic : 각종 리소스들 포함 (이미지, css, js 등)
ㅡimages
ㅡjavascripts
ㅡstylesheets
ㅡroutes : 페이지 라우팅 관련된 파일 저장
ㅡindex.js : 라우팅의 중심 역할 (기준)
ㅡusers.js
ㅡviews : jade, ejs 등 템플릿 파일들을 모아둠( 웹 서버에서 사용, 앱은 사용 X)
ㅡapp.js : 프로젝트의 중심 / 미들웨어 관리가 이루어짐(미들웨어도 폴더 따로 만들어두기도 함) / 라우팅의 시작점
'Javascript > Node.js' 카테고리의 다른 글
[JavaScript] 자바스크립트 (0) | 2021.07.19 |
---|---|
Postman (0) | 2021.04.16 |
[Sequelize] Sequelize로 postgresql 다루기 (0) | 2020.03.30 |
[JavaScript] 객체지향 (0) | 2020.02.23 |
[JavaScript] 함수지향 (0) | 2020.02.23 |