๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Dev.log/Node.js

[Node.js ๊ต๊ณผ์„œ] #19. ์ต์Šคํ”„๋ ˆ์Šค ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ - ์ต์Šคํ”„๋ ˆ์Šค ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ

์ต์Šคํ”„๋ ˆ์Šค ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ

์ต์Šคํ”„๋ ˆ์Šค๋Š” ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ๋กœ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋‹ค. ๊ฐ ๋ถ€๋ถ„๋งˆ๋‹ค ๋งก์€ ์—ญํ• ์ด ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์–ด ๋ณด๊ธฐ์—๋„ ์ข‹๊ณ , ๊ด€๋ฆฌํ•˜๊ธฐ๋„ ์ข‹๋‹ค.

1. bin/www

bin/www ํŒŒ์ผ์€ http ๋ชจ๋“ˆ์— express ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•˜๊ณ , ํฌํŠธ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ํฌํ•œํ•˜๊ฒŒ๋„ www ํŒŒ์ผ์—๋Š” js ํ™•์žฅ์ž๊ฐ€ ๋ถ™์–ด์žˆ์ง€ ์•Š๋‹ค. ๋˜ํ•œ #!/usr/bin/env node ๋ผ๋Š” ์ฃผ์„์ด ์ฒซ ์ค„์— ๋‹ฌ๋ ค ์žˆ๋‹ค. www ํŒŒ์ผ์„ ์ฝ˜์†” ๋ช…๋ น์–ด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์ด ์ฃผ์„์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ „์—ญ ์„ค์น˜ ํ›„ rimraf์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋กœ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

  • ๋จผ์ € app. debug, http ๋ชจ๋“ˆ๋“ค์„ ๊ฐ€์ ธ์˜จ๋‹ค.
  • debug ๋ชจ๋“ˆ์€ ์ฝ˜์†”์— ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๋Š” ๋ชจ๋“ˆ์ด๋‹ค.

 

  • app.set('port', port)๋กœ ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋  ํฌํŠธ๋ฅผ ์„ค์ •ํ•œ๋‹ค. process.env ๊ฐ์ฒด์— PORT ์†์„ฑ์ด ์žˆ๋‹ค๋ฉด ๊ทธ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ  ์—†๋‹ค๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ 3000๋ฒˆ ํฌํŠธ๋ฅผ ์ด์šฉํ•˜๋„๋ก ๋˜์–ด ์žˆ๋‹ค.
  • ์ด๋ ‡๊ฒŒ app.set(ํ‚ค, ๊ฐ’)์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‚˜์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ app.get(ํ‚ค)๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

  • http.createServer์— ๋ถˆ๋Ÿฌ์˜จ app ๋ชจ๋“ˆ์„ ๋„ฃ์–ด์ค€๋‹ค. app ๋ชจ๋“ˆ์ด createServer ๋ฉ”์„œ๋“œ์˜ ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ์—ญํ• ์„ ํ•œ๋‹ค.

 

  • listen์„ ํ•˜๋Š” ๋ถ€๋ถ„์€ http ์›น ์„œ๋ฒ„์™€ ๋™์ผํ•˜๋‹ค. ์ต์Šคํ”„๋ ˆ์Šค๋Š” ๊ทธ์ € ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ด๋‹ค.

2. app ๋ชจ๋“ˆ

  • express ํŒจํ‚ค์ง€๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ app ๋ณ€์ˆ˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด์ œ ์ด ๋ณ€์ˆ˜์— ๊ฐ์ข… ๊ธฐ๋Šฅ์„ ์—ฐ๊ฒฐํ•œ๋‹ค.

 

  • app.set ๋ฉ”์„œ๋“œ๋กœ ์ต์Šคํ”„๋ ˆ์Šค ์•ฑ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  • ์ค‘๊ฐ„ ๋ถ€๋ถ„์— app.user๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋งŽ์€๋ฐ, ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

 

  • ๋งˆ์ง€๋ง‰์—๋Š” app ๊ฐ์ฒด๋ฅผ ๋ชจ๋“ˆ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด๊ฒƒ์ด bin/www์—์„œ ์‚ฌ์šฉ๋œ app ๋ชจ๋“ˆ์ด๋‹ค.

 

๊ตฌ์กฐ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.