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

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

by KASSID 2023. 9. 22.

๋ชฉ์ฐจ

    728x90

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

    - 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๋ฒˆ) ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

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

    ๋Œ“๊ธ€