๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip/node, Angular, React

โœˆ ์œˆ๋„์šฐ์ฆˆ์—์„œ angular js choco install yarn ์„ค์น˜ / ์‹คํ–‰ ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ ๊ฐ–์ถ”๊ธฐ ์—๋Ÿฌํ•ด๊ฒฐ with vscode

by ๋‚ฏ์„ ๊ณต๊ฐ„2019 2020. 9. 5.

๋ชฉ์ฐจ

    ์•ต๊ทค๋Ÿฌjs๋Š” ์ตœ๊ทผ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ฐ€์žฅ ๊ฐ๊ด‘๋ฐ›๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.

    jquery๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๋ฉด angular js๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋‹ค.

    A๋ถ€ํ„ฐZ๊นŒ์ง€ ์ฑ…์ž„์ง€๋Š” JS์ƒํƒœ๊ณ„๋ผ๋Š” ๋œป์ด๋‹ค.

    ์ด ๊ธ€์—์„œ๋Š” angular js ์„ค์น˜ํ•˜๊ธฐ์™€ ์•ต๊ทค๋ŸฌJS์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ๊ฐ–์ถ”๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃฌ๋‹ค.

    ํ•„์ž๋Š” ํผ๋ธ”๋ฆฌ์…” ์ถœ์‹ ์ด๋ผ ๋ฆฌ๋ˆ…์Šค๋‹ˆ, macOS๋Š” ๊ท€์ฐฎ๋‹ค.

    ๋”ฐ๋ผ์„œ ์œˆ๋„์šฐ์ฆˆ ํ™˜๊ฒฝ์—์„œ ์•ต๊ทค๋ŸฌJS์„ค์น˜ํ•˜๊ธฐ์™€ angular js ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ๋‹ค๋ฃฌ๋‹ค.

    IDE๋กœ๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ(vscode)๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

    IDE๋ž€ ์ดํด๋ฆฝ์Šค๋‚˜ ์—๋””ํŠธํ”Œ๋Ÿฌ์Šค ๊ฐ™์€ ์—๋””ํ„ฐ ํˆด์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. (ํ•˜์ง€๋งŒ ๋ณด๋‹ค ๊ฐ•๋ ฅํ•œ?)

    https://code.visualstudio.com/

    ๋…ธํŠธ๋ถ์—๋Š” ์ดํด๋ฆฝ์Šค๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€๋งŒ ๋ฐ์Šคํฌํƒ‘์—๋Š” ์ดํด๋ฆฝ์Šค๋ฅผ ๊น”์•„ ๋†“์ง€ ์•Š์•„์„œ ๊ทธ๋ƒฅ vs์ฝ”๋“œ๋กœ๋งŒ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  ์ฐธ๊ณ ๋กœ ํ•„์ž ๋ฐ์Šคํฌํƒ‘์€ ์—ฌ์ „ํžˆ ์œˆ๋„์šฐ7์ด๋‹ค. ๊ทธ๊ฒƒ๋„ 32๋น„ํŠธ OS๋‹ค. 

    ์กฐ๋งŒ๊ฐ„ 64๋น„ํŠธOS๋กœ ์ƒˆ๋กœ ์„ค์น˜ํ•  ์˜ˆ์ •์ด์ง€๋งŒ, 32๋น„ํŠธ OS์—์„œ ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•˜๊ฑฐ๋‚˜ ์œˆ๋„์šฐ7ํ™˜๊ฒฝ์—์„œ ํ•™์Šต ์ค‘์ธ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด์„œ ํ™˜๊ฒฝ ์„ค์ • ๋ถ€๋ถ„๋งŒ ํผ์€ ์ผ๋‹จ ์ด ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

    ๋จผ์ € angular js๋ฅผ ์›ํ™œํžˆ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” nodeJS๋ฅผ ๋จผ์ € ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

    https://nodejs.org/ko/

    ์—์„œ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. (๋ณต์ œ๋ฐฉ์ง€๋Š” ๊ฑธ์ง€ ์•Š์„ํ…Œ์ง€๋งŒ ๋งํฌ๋„ ๊ฑธ์ง€ ์•Š๊ฒ ๋‹ค. ์นดํ”ผ์•คํŽ˜์ด์ŠคํŠธ...)

    ๊ทธ๋ฆฌ๊ณ  ๋‹น์—ฐํžˆ vscode๋ฅผ ์„ค์น˜ ํ•ด์•ผํ•œ๋‹ค.

    ํ•„์ˆ˜๋Š” ์•„๋‹ˆ์ง€๋งŒ ๊ฐ€๊ธ‰์ ์ด๋ฉด ์–€์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค.

    ํ•˜์ง€๋งŒ 32๋น„ํŠธ OS์—์„œ yarn์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ์กฐ๊ธˆ์€ ๊นŒ๋‹ค๋กญ๋‹ค.

    32๋น„ํŠธ ์œˆ๋„์šฐ 7์—์„œ yarn์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ์ดˆ์ฝ”(choco)๋ฅผ ์ด์šฉํ•˜๊ธฐ๋ฅผ ์ถ”์ฒœํ•œ๋‹ค.

    ์ผ๋‹จ ํ•˜๋‚˜์”ฉ ์„ค์น˜ ํ•ด๋ณด์ž.

    ๋จผ์ € node๋ฅผ ์„ค์น˜ ํ•œ๋‹ค. ์œˆ๋„์šฐ 32๋น„ํŠธ์šฉ์„ ์„ค์น˜ํ•œ๋‹ค.

    ๋…ธ๋“œ ์„ค์น˜๋Š” ๋ณ„ ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ด๋‹ค.

    vscode์„ค์น˜ ์—ญ์‹œ ๋ณ„ ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ด๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹ค์ƒ ์ด ๊ธ€์˜๊ฐ€์žฅ ํ•ต์‹ฌ์ธ ์•ต๊ทค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹น์—ฐํžˆ ์•ต๊ทค๋Ÿฌ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

    ๋…ธ๋“œ๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด CMD์—์„œ

    npm i @angular/cli -g

    ๋ฅผ ๋ช…๋ นํ•˜๋ฉด ์•ต๊ทค๋Ÿฌ Cli๊ฐ€ ์„ค์น˜ ๋œ๋‹ค.

    ์œ„ ๋ช…๋ น์–ด๋Š” npm install -g @angular/cli ์™€ ๊ฐ™์€ ๋œป์ด๋‹ค.

    ์ด๊ฒŒ ๋˜์–ด ์žˆ์–ด์•ผ ng new๋กœ ํด๋” ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    ์ด ์ฏค์ด๋ฉด ์•ต๊ทค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    ํ•˜์ง€๋งŒ ์ด ์ดํ›„ ์–€์˜ ์„ค์น˜๋Š” ์œˆ๋„์šฐ32๋น„ํŠธ์—์„œ๋Š” ์„ค์น˜์‹œ ์—๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๋จผ์ € ์ดˆ์ฝ” ์„ค์น˜๋ถ€ํ„ฐ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.

    https://yarnpkg.com/en/docs/install#windows-stable

    ์—์„œ msiํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•„์„œ ์„ค์น˜ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ดˆ์ฝ”๋กœ ์„ค์น˜ํ•  ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.

    msiํŒŒ์ผ์ด๋ผ๋„ ๊ด€๋ฆฌ์ž๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ๋˜๊ธด ํ•  ๊ฒƒ ๊ฐ™์ง€๋งŒ....

    ์ดˆ์ฝ” ์„ค์น˜ ์•ˆ๋‚ด ํŽ˜์ด์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    https://chocolatey.org/install

    ์ดˆ์ฝ”๋ฅผ ์œˆ๋„์šฐ7 32๋น„ํŠธ์—์„œ ์„ค์น˜ํ•˜๋ ค๋ฉด ๊ด€๋ฆฌ์ž๊ถŒํ•œ์œผ๋กœ ํŒŒ์›Œ์…€์„ ์‹คํ–‰ํ•ด์„œ ๋‹ค์Œ์˜ ์ฝ”๋“œ๋ฅผ ๋ถ™์—ฌ ๋„ฃ๊ณ  ์„ค์น˜ ํ•œ๋‹ค.

    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

    ์ดˆ์ฝ”๋ฅผ ์„ค์น˜ ํ•œ ํ›„์—๋Š” 

    choco install yarn

    ๋ช…๋ น์–ด๋กœ ์–€์„ ์„ค์น˜ ํ•œ๋‹ค.

    ์–€์„ ๊ทธ๋ƒฅ ํ”„๋กฌํ”„ํŠธ์—์„œ ์ดˆ์ฝ”๋กœ ์„ค์น˜ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

    ๊ด€๋ฆฌ์ž๊ถŒํ•œ ์‹คํ–‰์˜ ํŒŒ์›Œ์…€์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์น˜๊ฐ€ ๋œ๋‹ค.

    ์ด๋ ‡๊ฒŒ ์ดˆ์ฝ”๊ฐ€ ์„ค์น˜ ๋œ ๋’ค์— ์–€์„ ์„ค์น˜ ํ•œ๋‹ค.

    ์–€์ด ์ž˜ ์„ค์น˜ ๋˜์—ˆ๋‹ค๋ฉด VS์ฝ”๋“œ์—์„œ angular ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์ž.

    ๋จผ์ € Open New window๋กœ ์ƒˆ ํ™”๋ฉด์„ ์—ฐ๋‹ค.

    ์ฒ˜์Œ vscode๋ฅผ ๊ธฐ๋™ํ–ˆ๋‹ค๋ฉด ๊ทธ๋ƒฅ ๋”ฐ๋ผ์„œ ์ž‘์—…์„ ํ•˜๋ฉด ๋œ๋‹ค.

    ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ New Terminal์„ ์—ฐ๋‹ค.

    ์ด ๋•Œ ์—ด๋ฆฌ๋Š” ํ„ฐ๋ฏธ๋„์€ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” cmd prompt๊ฐ€ ์—ด๋ฆฐ๋‹ค.

    git bash๋ฅผ ์„ค์น˜ ํ–ˆ๋‹ค๋ฉด bash๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

    ์œˆ๋„์šฐ10 64๋น„ํŠธ๋ผ๋ฉด ํŒŒ์›Œ์‰˜์„ ์—ด ์ˆ˜๋„ ์žˆ๋‹ค.

    ํ„ฐ๋ฏธ๋„์€ ๋ณต์ˆ˜ ๊ฐœ๋ฅผ ์—ด ์ˆ˜ ์žˆ๋‹ค.

    ์ผ๋‹จ ์—ด๋ฆฐ ํ•˜๋‚˜์˜ ํ„ฐ๋ฏธ๋„์„ cmd๋ผ ์ƒ๊ฐํ•˜๊ณ  ํ™œ์šฉํ•˜์ž.

    ๋ฃจํŠธ๋Š” ์œˆ๋„์šฐ ์‚ฌ์šฉ์ž๊ณ„์ • ๋ฃจํŠธ๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์—ด๋ฆฐ๋‹ค.

    ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ๊ณ„์ • ์•„๋ž˜์— ์ž‘์—… ๊ณต๊ฐ„์„ ๋งŒ๋“ค๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ๊ท€์ฐฎ์•„์ง€๊ณ , ํ•„์ž์˜ ๊ฒฝ์šฐ C๋“œ๋ผ์ด๋ธŒ SSD๊ฐ€ 64๊ธฐ๊ฐ€ ์งœ๋ฆฌ๋ผ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•˜๋ฏ€๋กœ D:๋กœ ์˜ฎ๊ธฐ๊ฒ ๋‹ค.

    D๋“œ๋ผ์ด๋ธŒ๋กœ ์˜ฎ๊ธฐ๋Š” ๋ช…๋ น์–ด๋Š”

    D:

    ์ด๋‹ค.

    work๋ผ๋Š” ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ์ผ๋‹จ์€ 

    md work

    ๋กœ ๋งŒ๋“ ๋‹ค. ์ด ๋ช…๋ น์–ด๋Š” ๊ธฐ๋ณธ์ ์ธ DOS๋ช…๋ น์–ด๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ๋ผ๋ฉด ์•„๋งˆ mkDir [ํด๋”๋ช…] ์ผ ๊ฒƒ์ด๋‹ค.

    ์ด ํด๋” ์•„๋ž˜์—์„œ ์ƒˆ๋กœ์šด ์•ต๊ทค๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด

    ng new [ํด๋”์ด๋ฆ„]

    ์ด๋•Œ ์ ์–ด์ค„ ํด๋” ์ด๋ฆ„์ด ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ๋œ๋‹ค.

    tst2๋กœ ๋งŒ๋“ค์–ด ๋ณด์•˜๋‹ค.

    ng new ๋ช…๋ น์œผ๋กœ ํด๋”๋ฅผ ๋งŒ๋“ค๋ฉด ์ž๋™์œผ๋กœ ์•ต๊ทค๋Ÿฌ ํ”„๋กœ์ ํŠธ์™€ ๊ฐ์ข… ๋ฆฌ์†Œ์Šค ํŒŒ์ผ๋“ค์ด ์„ค์น˜๋œ๋‹ค.

    npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.

    ๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๊ฑฐ์Šฌ๋ฆฌ๊ฒ ์ง€๋งŒ ํŒจ์Šคํ•ด๋„ ๋œ๋‹ค.

    would you like to add Angular routing? Yes

    Wich stylesheet format would you like to use?

    ๋ฅผ ๋ฌผ์–ด ๋ณผ ๋• ๋ณธ์ธ์ด ํ˜น์€ ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์Šคํƒ€์ผ์‹œํŠธ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•œ๋‹ค.

    ํ•„์ž๋Š” ์ผ๋‹จ SCSS๋ฅผ ์„ ํƒํ–ˆ๋‹ค. angular material scss

    ์ด๊ฑด ๋ญ˜ ์„ ํƒํ•˜๊ฑด ๋ณธ์ธ ์ž์œ ๋‹ค.

    ์•„๋‹ˆ..ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ ์„œ๋Œ€๋กœ...

    ํ•˜์ง€๋งŒ ์ดˆ๋ณด๋ผ๋ฉด ๊ทธ๋ƒฅ CSS.

    ์ด๋กœ์จ ์•ต๊ทค๋Ÿฌjs๋ฅผ ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์„ค์ •๊ณผ ํด๋”๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

    ๊ท€์ฐฎ๊ฒ ์ง€๋งŒ Open Folder์—์„œ ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ํด๋”๋ฅผ ์—ด์ž.

    ํด๋”๋ฅผ ์—ฐ ํ›„ ํ„ฐ๋ฏธ๋„์„ ์Šคํ”Œ๋ฆฟํ•œ ํ›„ ์˜ค๋ฅธ์ชฝ์—์„œ ์–€์„ ์‹คํ–‰ํ•˜์ž.

    yarn start 

    ๋ผ๊ณ ๋งŒ ์ณ๋„ ๋œ๋‹ค.

    yarn start๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ์ข… node.js ์„œ์ ๊ณผ angularJS์—์„œ ์–ธ๊ธ‰ํ•˜๋Š” 

    ng serve

    ๋ฅผ ๋„์šฐ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜์ง€๋งŒ ์ข€ ๋” ๋‹ค์–‘ํ•˜๊ณ  ์„ฌ์„ธํ•œ ์„ค์ •์„ ํ•œ๋‹ค.

    ๊ฐ์ข… ์ปดํŒŒ์ผ์„ ํ•œ ํ›„ ์–€์ด ์‹คํ–‰๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ 

    http://127.0.0.1:4200/

    ์„ ์—ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

    ์‹œ์ž‘์ด ๋ฐ˜์ด๋‹ค.

    ์ด ๊ณผ์ •์„ ์•ต๊ทค๋Ÿฌ ๊ด€๋ จ ์„œ์ ์—์„œ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๋Š”๋ฐ 30~50ํŽ˜์ด์ง€๋ฅผ ํ• ์• ํ•œ๋‹ค.

    ์ด ๊ธ€์„ ๋ณธ ์ˆœ๊ฐ„ ๋‹น์‹ ์€ ์•ต๊ทค๋Ÿฌjs๊ด€๋ จ ์„œ์ ์˜ 50ํŽ˜์ด์ง€๋Š” ๋จน๊ณ  ๋“ค์–ด๊ฐ„ ์…ˆ์ด๋‹ค.

    ๋‹น์‹ ์ด ์•ต๊ทค๋Ÿฌ์˜ ์—ญ์‚ฌ์™€ ์ฒ ํ•™์„ ์•Œ์•„์•ผ๋งŒ ์•ต๊ทค๋Ÿฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์งค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ž–์€๊ฐ€?

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€