Visual Studio์ฉ Node.js ๋๊ตฌ
Visual Studio๋ฅผ ๊ฐ๋ ฅํ Node.js ๊ฐ๋ฐ ํ๊ฒฝ์ผ๋ก ์ ํ
ํ๋ก์ ํธ ํ ํ๋ฆฟ
์ ์ํ ๊ตฌ์ถ ๋ฐ ์คํ
๊ธฐ๋ณธ ์ ๊ณต๋๋ ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ์ฌ์ฉํด์ Visual Studio์์ Node.js ์ฑ ๊ฐ๋ฐ์ ์์ํ์ธ์. ๋๋ ์ด๋ฏธ ์น์ํ ๋ช ๋ น์ค ์ค์บํด๋ฉ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก Visual Studio๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
IntelliSense
์ฝ๋ ์ดํด


npm ํตํฉ
์๋ฒฝํ npm ํตํฉ ๊ธฐ๋ฅ ์ง์
๋ค์ํ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ช ๋ น์ค ๋๋ ๋ ํ๊ฒฝ ๋ชจ๋์์ npm์ ์๋ฒฝํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค. ๋ค์ํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์์ ํจํค์ง๋ฅผ ์ ์ํ๊ฒ ๊ฒ์ ๋ฐ ์ค์นํ๊ณ , npm ํธ๋ฆฌ ๋ณด๊ธฐ์์ ํจํค์ง ๋ฐ ์ข ์ ๊ด๊ณ๋ฅผ ํ์ธํ๊ณ , ์ผ๋ถ ์ข ์ ๊ด๊ณ๊ฐ ๋๋ฝ๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๋ํํ ์ฐฝ
์ ์ํ ๋ฐ๋ณต
Node.js ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ณ Node.js ๋ํํ ์ฐฝ(REPL ์ฐฝ)์์ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค. Node.js ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ ๊ธฐ๋ณธ ์ ๊ณต ๋ชจ๋, ๊ตฌ๋ฌธ ๋ฐ ๋ณ์๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ํธ์ง๊ธฐ์์ ์ฌ์ฉํ ์ ์๋ ๊ตฌ๋ฌธ ๊ฐ์กฐ ํ์, IntelliSense ๊ธฐ๋ฅ๋ ์ฝ๋์์ ์๋ฒฝํ๊ฒ ์ง์๋ฉ๋๋ค.


๊ณ ๊ธ ๋๋ฒ๊น
๋ชจ๋ OS์์ ๋ก์ปฌ ๋ฐ ์๊ฒฉ ์ง์
ํ๋กํ์ผ๋ง
์ฑ๋ฅ ๋ฌธ์ ์ถ์
ํ๋กํ์ผ๋ง ๋ณด๊ณ ์๋ฅผ ํตํด ์์ค ์ฝ๋ ๋ผ์ธ์์ ํ๋ก์ธ์ค๊น์ง์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์กฐ ์์ค์ ํ์ธํ๊ณ , ํน์ ํจ์์ ํธ์ถ ๋๋ ํธ์ถ ๋์ ํจ์๋ถํฐ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ์ถ ํธ๋ฆฌ์ ์ด๋ฅด๋ ํ๋ก๊ทธ๋จ ์คํ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.


๋จ์ ํ ์คํธ
์์ฒด ํ ์คํธ ํ๋ ์์ํฌ ์ฌ์ฉ
Visual Studio์ฉ Node.js ๋๊ตฌ์๋ ์ ๋ ํ ์คํธ ๊ฒ์ ๋ฐ ์คํ์ ์ํ ์ง์์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ช ๋ น ํ๋กฌํํธ๋ก ์ ํํ์ง ์๊ณ ๋ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑ, ์คํ, ๋๋ฒ๊น ๋ฐ ํํฐ๋งํ ์ ์์ต๋๋ค. mocha๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ Visual Studio๋ฅผ ํ์ฅํ์ฌ ์ฌ์ฉ์๊ฐ ์ํ๋ ์ ๋ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
TypeScript ํตํฉ
๊ฐ๋ ฅํ ์์ฉ ํ๋ก๊ทธ๋จ ๋น๋
TypeScript๋ ํด๋ฆฐ JavaScript ์ถ๋ ฅ๊ณผ ํธํ๋๋ JavaScript์ ์์ ์งํฉ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ ํ์ ์ธ ์ ํ, ํด๋์ค ๋ฐ ๋ชจ๋์ด ์ถ๊ฐ๋์ด ์์ด ์ ์ง ๊ด๋ฆฌ ์ฑ๋ฅ์ด ๋ ๋ฐ์ด๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ณด๋ค ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. Visual Studio์ฉ Node.js ๋๊ตฌ๋ Node.js ์ฑ์์ TypeScript๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก IntelliSense์์ ๋จ์ ํ ์คํธ์ ์ด๋ฅด๋ ์๋ฒฝํ ์ข ๋จ ๊ฐ ์ง์์ ์ ๊ณตํฉ๋๋ค.


์์ค ์ ์ด
๋ช ๋ น์ค ํ์ ์์
ํ ํ์๊ธฐ๋ฅผ ์ฌ์ฉํด์ Git/TFS ํ๋ก์ ํธ, ๋ณด๋ฅ ์ค์ธ ๋ณ๊ฒฝ ์ฌํญ ๋ฐ ๋ถ๊ธฐ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋๋ Visual Studio์์ ์ ๊ณต๋๋ ์ฌ๋ฌ ์์ค ์ ์ด ํ์ฅ ๊ธฐ๋ฅ ์ค ํ๋๋ฅผ ์ ํํ ์๋ ์์ต๋๋ค.
ํด๋ผ์ฐ๋ ํตํฉ
5๋ถ ์ด๋ด์ ๋ง๋ค์ด์ ๋ฐฐํฌ
Node.js๋ก ์์ฑํ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ํ ์คํธํ๊ณ ๋ฐฐํฌํ ๋ค์, Linux ๋๋ Windows ๊ธฐ๋ฐ ์๋ฒ์์ ์คํํ๋ ๋์ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค. ๋ํ Azure์ ๋ฐฐํฌํ์ง ์์ ๊ฒฝ์ฐ์๋ ํ๋ซํผ ๊ฐ Node.js์ฉ Azure ์๋น์ค์ ๋ฐ์ ํ๊ฒ ํตํฉ๋ Visual Studio๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Application Insights๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ๋ฐ ์ฌ์ฉ์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.


๋๊ตฌ ์ฌ์ฉ์ ์ง์
grunt, gulp ๋ฑ์ ๋ํ ํ์ฅ!
Visual Studio Gallery์์ ์ ๊ณต๋๋ ๋ค์ํ JavaScript ๋ฐ Node.js ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํด ์์ ํ๊ฒฝ์ ๋ณด์กฐํ ์ ์์ต๋๋ค. ์์ฃผ ์ฌ์ฉ๋๋ ํ์ฅ ๊ธฐ๋ฅ:
- ํจํค์ง IntelliSense
- Web Essentials(jslint ๋ฐ jshint ์ง์ ํฌํจ)
- Task Runner ํ์๊ธฐ(grunt ๋ฐ gulp์ฉ)
- EditorConfig
๋ฌด๋ฃ ๋ฐ ์คํ ์์ค
GitHub ์ปค๋ฎค๋ํฐ ์ฐธ์ฌ
Visual Studio์ฉ Node.js ๋๊ตฌ๋ ๋ฌด๋ฃ์ด๋ฉฐ Microsoft ๋ฐ ์ปค๋ฎค๋ํฐ์์ ์ง์๋๋ ์คํ ์์ค Visual Studio ํ์ฅ์ ๋๋ค. Microsoft๋ Visual Studio์์ Node.js ํ๊ฒฝ์ ๊ฐ์ ํ๊ธฐ ์ํด ๊ณ์ ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ, ์ฌ์ฉ์์ ์๊ฒฌ์ด๋ ์์ด๋์ด๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค(๋์ด์ค๊ธฐ ์์ฒญ ์ฐธ์กฐ).

ํ์, ์คํ ์์ค ๋ฐ ๊ฐ์ธ ๊ฐ๋ฐ์๋ฅผ ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ฌด๋ฃ IDE
์๊ท๋ชจ ํ์ ์ํ ์ ๋ฌธ ๊ฐ๋ฐ์ ๋๊ตฌ, ์๋น์ค ๋ฐ ๊ตฌ๋ ํํ
๋ชจ๋ ๊ท๋ชจ ํ์ ๊น๋ค๋ก์ด ํ์ง ๋ฐ ํ์ฅ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์๋ํฌ์๋ ์๋ฃจ์