๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒŒ | WEB DEV/NodeJS

[NodeJS+Express] 1. NodeJS, Express ์„ธํŒ…

by KASSID 2023. 9. 22.

์‚ฌ์ „์— ํ•„์š”ํ•œ ๊ฒƒ๋“ค

- node LTS ๋ฒ„์ „, ์ฝ”๋“œ์—๋””ํ„ฐ ๋“ฑ


- ๊ฐ„๋‹จํ•œ Express๋ฅผ ์ด์šฉํ•˜๋Š” NodeJS ์„œ๋ฒ„ ์„ธํŒ… ์ˆœ์„œ 

1. ์ž‘์—…ํ•  ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ๊ฒฝ๋กœ ์ ‘์†

2. js ํŒŒ์ผ ์ƒ์„ฑ ex) server.js

3. ํ•ด๋‹น ๊ฒฝ๋กœ์—์„œ ํ„ฐ๋ฏธ๋„ ์˜คํ”ˆ ํ›„ package.json ํŒŒ์ผ ์ƒ์„ฑ

npm init -y

package.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด์ด๋‹ค. 

์ด๋•Œ -y ์˜ต์…˜์€ default๊ฐ’์œผ๋กœ ์„ค์ •๋œ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

 

4. express ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

npm install express

express๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž!

 

5. ์„œ๋ฒ„ ์ฝ”๋“œ ์ž‘์„ฑ

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

//PORT ์—ด๊ธฐ
app.listen(8080, ()=>{
  console.log('http://localhost:8080 ์—์„œ ์„œ๋ฒ„ ์‹คํ–‰์ค‘!');
})

//root์—์„œ GET์š”์ฒญ(์ ‘์†)์‹œ ๋ Œ๋”๋งํ•  ๋‚ด์šฉ
app.get('/', (req, res)=>{
  res.send("HELLO!!");
})

 

1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ๋ก

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

express ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

 

2) 8080์ด๋ผ๋Š” ํฌํŠธ์—์„œ ์„œ๋ฒ„๋ฅผ ๋„์šฐ๊ธฐ

app.listen(8080, () => {
    console.log('http://localhost:8080 ์—์„œ ์„œ๋ฒ„ ์‹คํ–‰์ค‘!')
})

 

3) root ์ ‘์† ์‹œ

app.get('/', (req, res)=>{
  res.send("HELLO!!");
})

์ด ๋ถ€๋ถ„์„ ๋ณ€ํ˜•ํ•ด์„œ html ์ฝ”๋“œ๋ฅผ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

6. ์„œ๋ฒ„ ์‹คํ–‰

//node ํŒŒ์ผ๋ช…
node server.js

์œ„ ๋ช…๋ น์œผ๋ฅผ ํ†ตํ•ด ์ง€์ •ํ•œ ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ 

๊ทธ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ์„œ๋ฒ„์ฝ”๋“œ๋„ ์‹คํ–‰์ด ๋œ๋‹ค.

 

http://localhost:8080 ์œผ๋กœ ์ ‘์†ํ•˜๋ฉด ์œ„์—์„œ ์ •์˜ํ•œ ์ ‘์† ์‹œ ๋ฌธ๊ตฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 


- PORT๋ž€ ๋ฌด์—‡์ผ๊นŒ?

์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์™ธ๋ถ€์˜ ์žฅ๋น„์™€ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋– ํ•œ ์ฐฝ๊ตฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๊ทธ ์—ญํ• ์ด ๋ฐ”๋กœ ํฌํŠธ(PORT)์ด๋‹ค.

 

๋งŒ์•ฝ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ด์šฉํ•ด ๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„ ๋“ฑ์— ์ ‘์†์„ ํ• ๋•Œ๋ฅผ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณธ๋‹ค๋ฉด

์šฐ๋ฆฌ๋Š” www.google.com ๊ณผ ๊ฐ™์€ URL์„ ์ด์šฉํ•ด ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋กœ ์ฐพ์•„๊ฐ€๊ณ  ๊ทธ ์„œ๋ฒ„์— ์—ด๋ ค์žˆ๋Š”

ํฌํŠธ๋กœ ์ ‘์†์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด์ œ ์šฐ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ๋กœ ๋Œ์•„์™€์„œ ๋ˆ„๊ตฐ๊ฐ€ ๋‚ด ์ปดํ“จํ„ฐ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ

port๋ฅผ ์—ด์–ด์ฃผ์–ด์•ผ ํ•˜๊ณ  ์˜ˆ์‹œ๋กœ 8080๋ฒˆ์งธ ํฌํŠธ๋ฅผ ์—ด์–ด์ค€ ๊ฒƒ์ด๋‹ค.

 

๋งŒ์•ฝ ์™ธ๋ถ€ ์ปดํ“จํ„ฐ๋กœ ์šฐ๋ฆฌ ์„œ๋ฒ„๋ฅผ ์—ด์–ด์ค€ ์ปดํ“จํ„ฐ์˜ ip์ฃผ์†Œ:8080 ์„ ์ž…๋ ฅํ•˜๋ฉด

์ง์ ‘ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

ํฌํŠธ๋Š” ์•ฝ 6๋งŒ๊ฐœ (0~65535๋ฒˆ) ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

์ด์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์— ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜์ž!

๋Œ“๊ธ€