
코딩애플님의 Node.js, MongoDB로 2시간 만에 빠르게 웹서비스 만들기 강의를 듣고 복습의 목적으로 작성하였습니다
시작 환경
기본적인 개발환경 (vs, intelliJ 등)이 깔려 있다는 상황으로 합니다.
node의 설치로 npm사용에 제한이 없다는 상황으로 진행합니다.
package.json을 설치합니다.
터미널에서 진행 됩나다
npm init
npm init -y
만약 npm init -y를 한다면 기본적인 세팅으로 사용이 가능하고 enter치는 번거로움이 줄게 됩니다.
express 라이브러리를 설치합니다
npm i express
express는 node.js의 표준 서버 프레임 워크이다.
package.json이 존재하는 폴더에 index.js라는 자바스크립트 파일을 생성한다.
{
"name": "apple",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.18.2"
}
}
package.js의 main을 확인해 보면 index.js라고 써있다. package.json이 해당 파일을 main으로 둔다는 뜻이다.
만약 main에 다른 파일의 이름이 적혀있다면 해당 이름으로 파일을 생성하면 된다
express사용
index.js에 express를 사용할 간단한 환경을 만들어 줍니다.
const express = require('express')
const app = express()
const port = 3001
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
다음 코드는 express 공식 문서에 hello world 예제입니다.
https://expressjs.com/ko/starter/hello-world.html
첫번째 줄과 두번째 줄은 express를 사용하기 위한 기본 코드입니다.
포트만 3001번으로 변경했습니다.
아래 listen이라는 함수가 보입니다.
첫인자로 port 즉, 어떤 포트로 서버를 돌리게 될지를 나타냅니다.
두번째 인자는 콜백함수로 listen이 실행된 이후 어떤 동작을 할지 알려줍니다.
node index.js로 해당 파일을 실행 합니다.

터미널에 다음과 같은 출력을 얻을 수 있습니다.
CRUD
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. (위키백과)
express에서 create역할을 하는 것이 post, Read 역할을 하는 것이 get, Update 역할을 하는 것이 put, Delete 역할을 하는 것이 delete이다
GET
listen위에 get이라는 함수가 있습니다.
일단 서버가 실행 되고 있는 http://localhost:3001로 접속 해보겠습니다.

app.get('경로',(요청, 응답) => {
응답.send('화면에 보여줄거')
// 응답.sendFile('화면에 보여줄 파일')
})의 모양입니다.
경로가 ' / '일 경우 주소에 아무것도 더해지지 않는 상태를 말합니다. 지금은 http://localhost:3001이겠죠
app.get('/add', ... )일 경우 http://localhost:3001/add로 get요청이 보내집니다.
맞는지 확인을 위해 다음코드를 중간에 추가하고 다시 서버를 실행 하겠습니다
app.get('/add', (req, res) => {
res.send('add입니다')
})
서버를 종료하기 위해서는 터미널에서 ctrl+C를 누르고 다시 node index.js를 합니다.
서버js에 변경사항이 있는경우 저장을 하고 다시 실행 해야 합니다.
http://localhost:3001/add로 들어가봅니다

app.get('경로',(요청, 응답) => {
응답.send('화면에 보여줄거')
// 응답.sendFile('화면에 보여줄 파일')
})
추가로 응답.send('화면에 보여줄거')를 하면 send안에 있는 문장이 화면에 출력되고,
응답.sendFile('화면에 보여줄 파일')를 하면 sendFile안에 있는 파일이 화면에 보입니다.
'백엔드 > node' 카테고리의 다른 글
| [Node.js/MongoDB] Html파일 전송하기 (0) | 2022.12.14 |
|---|---|
| [Node.js/MongoDB] nodemon (0) | 2022.12.14 |
| [Node.js/MongoDB] Node.j란 (1) | 2022.12.14 |
| [Node] fs로 HTML 읽기 (0) | 2022.11.27 |
| [Node] HTTP서버 만들기 (0) | 2022.11.27 |