Develope Me!

[Node.js + Express] npm 패키지를 통한 express 모듈 설치와 간단한 api 테스트 본문

JavaScript/Node.js + Express

[Node.js + Express] npm 패키지를 통한 express 모듈 설치와 간단한 api 테스트

코잘알지망생 2024. 3. 6. 17:38

 

 

Node.js에는 npm(node package manager)라고 하는 JS 패키지 매니저가 있다.

즉, Node를 사용하는 개발자들이 패키지를 설치/관리를 쉽게 해줄 수 있는 매니저의 역할을 한다고 볼 수 있다. 

 

https://www.npmjs.com/

 

npm | Home

Bring the best of open source to you, your team, and your company Relied upon by more than 17 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

 

 

그러면 한 번 npm을 사용해서 Express( Node.js 기반의 웹 프레임워크) 모듈을 설치해보자.

 

npm init / npm install (모듈명) 

터미널에 npm을 사용하기 전에 npm init(npm 시작)을 치고 쭉 엔터를 누르면 package.json 폴더가 생성된다. 

생성된 package.json에는 프로젝트에 대한 설명 및 npm을 통해서 다운받고 적용한 모듈들을 확인할 수 있다. 

 

npm install express를 입력해주면 모듈이 설치되면서 package-lock.json 폴더가 생성되는데 package.json은 내용을 대략적으로 확인할 수 있다면 package-lock.json에서는 설치한 모듈의 상세한 내용을 확인할 수 있다. 

 

index.js에 express 예제 코드 입력하기

const express = require('express')
const app = express()

// app.get('라우팅', 콜백함수)
app.get('/', function (req, res) {
  res.send('Hello World')
})

app.listen(3000)

예제 코드를 작성하고 실행을 해준 뒤 localhost:3000에 접속을 하면 Hello World 문구를 확인할 수 있다. 

*서버 종료 단축키: ctrl+c

*전체 정렬 정리 : 전체 선택 (ctrl+a) > 마우스 우클릭 > Format Document

*이전 명령어 호출 : 키보드 ↑

*주석 : ctrl + /

 

테스트 API 만들어보기

루트뿐만 아니라 다른 라우팅을 추가해서 간단하게 api를 만들 수도 있다.

app.get("/", function (req, res) {
  res.send("Hello World");
});

app.get("/dog", function (req, res) {
  res.send("<h2>멍멍</h2>");
});

app.get("/cat", function (req, res) {
  res.send("야옹");
});

app.listen(3000);

 

1. get 방식

get 방식을 이용해서 라우팅 뒤에 들어온 파라메타 값을 ':id'로 받아올 수도 있고 아니면 쿼리로 받아올 수도 있다.

 

parameter 

app.get("/user/:id", function (req, res) {
  const test = req.params;
  console.log(test.id + "가 입력되었습니다.");
  res.send(test.id + "님 반갑습니다.");
});

 

 

 

query

app.get("/user/:id", function (req, res) {
  const test = req.query;
  console.log(test);
  res.send(test.age);
});

 

쿼리로 보내준 test=cat&age=5&weight=7 값이 json의 형태로 콘솔에 찍히게 된다. 

 

2. post 방식

post 방식은 params나 body로 값을 받아올 수 있다.

app.use(express.json());
app.post("/user/:id", function (req, res) {
  const p = req.params;
  const b = req.body;
  console.log(p);
  console.log(b);
  res.send({ message: "Hello, world!!" });
});

 

Comments