본문 바로가기
TIL

API 구현 하기 위한 시작 과정

by 황민도 2024. 5. 15.

내일배움캠프 스파르타 코딩클럽

 

개인과제와 강의 2주차를 완강하기에 앞서 계속 사용하고 기억해야 할 부분들이 있다.

바로 웹 프레임 워크 Express.js 와 패키지매니저 yarn 이다.

 

1. yarn 설치 : 폴더 생성 -> 새터미널 -> npm install -g yarn (npm을 이용하여 전역환경에(-g : 글로벌) yarn을 설치)

2. yarn init: 터미널 -> yarn init 이나 yarn init -y

/*

여기서 yarn init과 yarn init -y의 차이를 설명하자면

yarn init : 새로운 프로젝트를 초기화 할때 대화식으로 세부정보를 입력하도록 요청 ex: 프로젝트 이름, 버전, 설명, 저자

yarn init -y : -y(yes의 축약어), 세부정보를 묻지 않고 기본 값을 사용하여 프로젝트를 초기화

이렇게 yarn init 또는 yarn init -y 를 입력하면 package.json파일을 생성함

*/

3. yarn add "패키지명" "패키지명" "..." : 패키지 설치 ex: yarn add express mongoose

4. "type": "module", 설정하기 :

< {} package.json >

{
  "name": "memo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "type": "module",
  "dependencies": {
    "express": "^4.19.2",
    "mongoose": "^8.3.4"
  }
}

위 처럼 "type": "module", 을 입력해준다.

5. 서버 개설하기 :

< app.js >

import express from 'express';

const app = express();
const PORT = 2000;

app.use(express.json());
app.use(express.urlencoded({ extended: true}));

const router = express.Router();

router.get('/', (req, res) => {
    return res.json({message: 'Hi!'});
});

app.use('/api', router);

app.listen(PORT, () => {
    console.log(PORT, '포트로 서버가 열렸어요!');
});

위처럼 코드를 설정해주고 터미널에 node.js 파일명 을 입력하여 서버가 잘 열렸는지 확인해줄 수 있다.

서버를 닫을때는 Ctrl + c 를 누르면 된다.

 

그리고 추가적으로 경로에 있는 파일을 아무런 가공 없이 그대로 전달해주는 미들웨어

app.use(express.static('./assets'));

 

이 코드 덕분에 미리 준비해놓은 프론트엔드 파일을 서빙할수 있게 된다.

 

그리고 추가적으로 강의에서 다룬 killall node 는 window 에서는 불가하다 또한 window bash도 마찬가지이고

서버를 종료시키려면 내가 해본 바로는 window 는 powershell 에서만 가능하다.

다음과 같은 명령어를 입력하면 된다.

taskkill /f /pid <포트>

원하는 포트를 찾으려면?

netstat -ano | find <포트>

이상으로 어느정도 익숙해지고 개인과제를 시작할 수 있는 수준이 되면 추가적으로 기록해 보겠다.