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

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

โœ–

์„ค์น˜

Node.js๊ฐ€ ์ด๋ฏธ ์„ค์น˜๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ ์ƒํƒœ์—์„œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด๊ด€ํ•  ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.


$ mkdir myapp
$ cd myapp

npm init ๋ช…๋ น์„ ์ด์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ package.json ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค. package.json์˜ ์ž‘๋™ ์›๋ฆฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” Specifics of npmโ€™s package.json handling์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


$ npm init

์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด๋ฆ„ ๋ฐ ๋ฒ„์ „๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ •๋ณด์— ๋Œ€ํ•ด ํ”„๋กฌํ”„ํŠธํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋‹ค์Œ์˜ ํ•ญ๋ชฉ์„ ์ œ์™ธํ•œ ๋Œ€๋ถ€๋ถ„์˜ ํ•ญ๋ชฉ์—์„œ ENTER ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๊ธฐ๋ณธ๊ฐ’์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


entry point: (index.js)

๊ธฐ๋ณธ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ app.js๋กœ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ index.js๋กœ ์ž…๋ ฅํ•˜๊ธฐ ์›ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ENTER ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ์ œ์•ˆ๋œ ๊ธฐ๋ณธ ํŒŒ์ผ ์ด๋ฆ„์„ ์ˆ˜๋ฝํ•˜์‹ญ์‹œ์˜ค.

์ด์ œ app ๋””๋ ‰ํ† ๋ฆฌ์— Express๋ฅผ ์„ค์น˜ํ•œ ํ›„ ์ข…์† ํ•ญ๋ชฉ ๋ชฉ๋ก์— ์ €์žฅํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


$ npm install express --save

Express๋ฅผ ์ž„์‹œ๋กœ ์„ค์น˜ํ•˜๊ณ  ์ข…์† ํ•ญ๋ชฉ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด --save ์˜ต์…˜์„ ์ƒ๋žตํ•˜์‹ญ์‹œ์˜ค.


$ npm install express

--save ์˜ต์…˜์„ ํ†ตํ•ด ์„ค์น˜๋œ Node ๋ชจ๋“ˆ์€ package.json ํŒŒ์ผ ๋‚ด์˜ dependencies ๋ชฉ๋ก์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ดํ›„ app ๋””๋ ‰ํ† ๋ฆฌ์—์„œ npm install์„ ์‹คํ–‰ํ•˜๋ฉด ์ข…์† ํ•ญ๋ชฉ ๋ชฉ๋ก ๋‚ด์˜ ๋ชจ๋“ˆ์ด ์ž๋™์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.