자바스크립트 패키지 매니저 중 하나. npm과 비슷하지만 같이 사용하면 안됨.
프로젝트의 의존성을 관리하고 패키지를 설치하며, 패키지의 버전을 관리하는 도구.
특징
1. npm 보다 빠르다.
2. 패키지의 무결성 검증으로 보안이 강하다.
3. 의존성 관리하여 프로젝트를 안정적으로 유지할 수 있다.
4. 여러 저장소를 사용할 수 있어 패키지를 효율적으로 관리할 수 있다.
Node.js로 서버를 만들 때 사용하는 웹 프레임워크
웹 애플리케이션 및 API를 더 쉽게 개발할 수 있게 해주는 모듈
Express.js의 특징
1. 미들웨어 지원으로 요청을 유연하게 처리할 수 있다.
ex)Authentication, Logging, Exception Handler
2. 커뮤니티가 활발하여, 커뮤니티를 통해 문제를 도움을 받을 수 있다.
3. 라우팅을 통해 URL에 따라 요청을 적절한 핸들러로 전달할 수 있다.
4. 템플릿 엔진을 지원하여 HTML을 동적으로 생성 및 구성할 수 있다.
5. HTTP 유틸리티 메서드를 제공하여 HTTP 요청을 쉡게 처리할 수 있다.
6. 다양한 미들웨어를 사용하여 기능을 추가, 확장할 수 있어 Express.js를 확장할 수 있다.
yarn 설치
npm install -g yarn
현재 폴더를 프로젝트 폴더로 초기화
yarn init -y
-y는 묻지말고 설치하라는 뜻
설치 결과 package.json 파일 생성
package.json : 패키지와 의존성에 대한 정보 저장한 파일
Express.js 설치
yarn add express(npm install express)
설치 결과 : node_modules 폴더와 yarn.lock 생성
ode_modules 폴더 : yarn으로 설치된 패키지들이 저장되는 폴더, express가 아니라 다른 모듈을 설치해도 생김.
yarn.lock : 모듈들의 의존성을 관리하고 다른 환경에서 실행될 때 패키지 버전을 유지하게 하는 파일
js 파일에서 express 모듈 사용
//express 모듈을 인식할 수 있도록 import
import express from 'express';
// express 모듈을 변수에 저장
const app = express();
//서버가 대기할 포트 번호를 지정
const PORT = 3000;
// 특정 포트에서 대기하도록 하는 메서드
// 서버가 시작되면 해당 포트로 클라이언트의 요청을 수신할 수 있다.
app.listen(PORT, () => {
console.log(PORT, '포트로 서버가 열렸어요!');
});