Express, ejs 수업
- NPM
: Nodde Package Manager - 노드 패키지를 관리해주는 툴html npm init : 프로젝트를 시작할 때 사용하는 명령어 : package.json에 기록될 내용을 문답식으로 입력 npm init --yes :pakcage.json이 생성될 때 기본값으로 생성 npm install 패키지 이름 : 프로젝트에서 사용할 패키지를 설치하는 명령어 : 설치된 패키지의 이름과 정보는 pacakage.json의 dependencies에 입력 npm install express - 깃헙에 올릴 필요 절대 없음 깃헙은 기록 용도임.
package.json ⇒ 프로젝트에 대한 정보와 사용 중인 패키지 이름 및 버전 정보
- 패키지들이 서로 의존되어 있어, 문제가 발생할 수 있는데 이를 관리하기 위해 필요한 것
- “name”: 패키지 이름
- “version”: 패키지의 버전
- “main”: 자바스크립트 실행 파일 진입점 (문답식에서의 entry point)
- description: 패키지에 대한 설명
- “scripts”: npm run을 이용해 정해놓는 스크립트 명령어
- license: 해당 패키지의 라이센스
.gitignore
앞에 **/ ⇒ 어떤 폴더에서도 무시하겠다는 뜻
/node_modules
package-lock.js
Express (중요)
- 웹 서버를 생성하는 것과 관련된 기능을 담당하는 프레임워크
- 웹 애플리케이션을 만들기 위한 각종 메소드와 미들웨어 등이 내장되어 있다.
- http 모듈 이용시 코드의 가독성, 확장성 ↓ ⇒ express framework
html //express 기본 코드 const express = require("express"); //모듈을 불러옴 const app = express(); // 함수처럼 사용해서 app이라는 객체를 만듦 const port = 8080; //listen - 포트 번호, 함수를 인자로 app.listen(port, () => { console.log("server is open : ", port); });
- express()
: exprss 모듈이 export하는 최상위 함수로, express application을 만듦- app 객체
: express()함수를 호출함으로써 만들어진 express application- app 객체의 method ⇒ 우리가 배운 get
: HTTP 요청(클라이언트가 서버측에 보낸 요청)을 각 요청에 맞는 경로로 전송하는 메소드(라우팅)
서버측 파일을 수정하면 무조건 다시 껐다가 켜야함. - 백엔드 측 언어는 수정하면 다시 켜야함
그러나 다른 것 예: views 안의 html 파일같은 것들을 수정하면 서버를 껐다 켜지 않아도 됨
- 프론트 엔드 측 언어이기 때문
미들웨어 - static
- 이미지, css 파일, 자바스크립트 파일과 같은 정적 파일 제공
- express에 있는 static 메소드를 이용해 미들웨어로 로드
html //클라이언트가 어떤 경로로 접근할 수 있도록 권한을 줘야함. //미들웨어 등록 - 가상 경로 , express.static("실제 존재 폴더이름") //static이라는 실제 존재하는 폴더를 public 경로로 접근할 수 있도록 함 //src = "/public/img/christmas.jpg" app.use("/public", express.static("static"));
템플릿 엔진
EJS 템플릿
- 문법과 설정에 따라 파일을 html 형식으로 변환시키는 모듈
ejs : Embedded Javascript의 약자로 ,자바스크립트가 내장되어 있는 html 파일 - 확장자는 .ejs