StrongLoop / IBM์— ์˜ํ•ด ์ œ๊ณต์ด ๋ฒˆ์—ญ.

์ด ๋ฌธ์„œ๋Š” ์˜๋ฌธํŒ ๋ฌธ์„œ์— ๋น„ํ•ด ๋” ์˜ค๋ž˜๋œ ๋ฒ„์ „์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์—…๋ฐ์ดํŠธ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์˜๋ฌธํŒ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

โœ–

Hello world ์˜ˆ์ œ

๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ์•ฑ์€ ์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ Express ์•ฑ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์•ฑ์€ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋œ ์•ฑ์ด๋ฉฐ Express ์ƒ์„ฑ๊ธฐ๋ฅผ ํ†ตํ•ด ์–ป๊ฒŒ ๋˜๋Š” ์•ฑ๊ณผ๋Š” ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (์ด ์˜ˆ์ œ์™€ ๋‹ฌ๋ฆฌ Express ์ƒ์„ฑ๊ธฐ๋ฅผ ํ†ตํ•ด ์–ป๊ฒŒ ๋˜๋Š” ์•ฑ์€ ๋‹ค์–‘ํ•œ ๋ชฉ์ ์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ JavaScript ํŒŒ์ผ, Jade ํ…œํ”Œ๋ฆฌํŠธ ๋ฐ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๋Š” ์ „์ฒด ์•ฑ์— ๋Œ€ํ•œ ์Šค์บํด๋”ฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.)

๋จผ์ €, myapp์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ์ด ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜์—ฌ npm init๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์ดํ›„ ์„ค์น˜ ์•ˆ๋‚ด์„œ์— ๋”ฐ๋ผ express๋ฅผ ์ข…์† ํ•ญ๋ชฉ์œผ๋กœ์„œ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.

myapp ๋””๋ ‰ํ† ๋ฆฌ์— app.js๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ์ž‘์„ฑํ•œ ํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.


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

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

์•ฑ์€ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ 3000๋ฒˆ ํฌํŠธ์—์„œ ์—ฐ๊ฒฐ์„ ์ฒญ์ทจํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์€ ๋ฃจํŠธ URL(/) ๋˜๋Š” ๋ผ์šฐํŠธ์— ๋Œ€ํ•œ ์š”์ฒญ์— โ€œHello World!โ€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒฝ๋กœ์— ๋Œ€ํ•ด์„œ๋Š” 404 Not Found๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

req(์š”์ฒญ) ๋ฐ res(์‘๋‹ต)๋Š” Node๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋™์ผํ•œ ์˜ค๋ธŒ์ ํŠธ์ด๋ฉฐ, ๋”ฐ๋ผ์„œ req.pipe(), req.on('data', callback) ๊ทธ๋ฆฌ๊ณ  Express์˜ ๊ด€์—ฌ๊ฐ€ ํ•„์š” ์—†๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์˜ ๋ช…๋ น์„ ์ด์šฉํ•˜์—ฌ ์•ฑ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

$ node app.js

์ดํ›„ ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:3000/์„ ๋กœ๋“œํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฌผ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.