Develope Me!
[Node.js + Express] npm 패키지를 통한 express 모듈 설치와 간단한 api 테스트 본문
[Node.js + Express] npm 패키지를 통한 express 모듈 설치와 간단한 api 테스트
코잘알지망생 2024. 3. 6. 17:38
Node.js에는 npm(node package manager)라고 하는 JS 패키지 매니저가 있다.
즉, Node를 사용하는 개발자들이 패키지를 설치/관리를 쉽게 해줄 수 있는 매니저의 역할을 한다고 볼 수 있다.
그러면 한 번 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!!" });
});
'JavaScript > Node.js + Express' 카테고리의 다른 글
[Node.js + Express] Express-Session-Auth / 세션(express session), 세션 저장소(session-file-store) (0) | 2024.03.21 |
---|---|
[Node.js + Express] CORS 모듈 설치와 프론트엔드 연결 과정(feat.동물소리 API 서버) (0) | 2024.03.07 |