๐Ÿ‘ฉ‍๐Ÿ’ป๊ฐœ๋ฐœ_TIL/TIL

[ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ] ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

Daisy.lee 2022. 1. 12. 15:35

 


ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€ ์„ค์ •์„ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1. TSC 2. ์„ค์ •ํŒŒ์ผ ํฌ๊ฒŒ ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋†“๊ณ  ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

1. TSC ์‹คํ–‰

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑ๋œ ํŒŒ์ผ์€ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ๊ฑฐ์ณ JS ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ typescript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  TSC(ํƒ€์ž…์Šคํฌ๋ฆฝ ์ปดํŒŒ์ผ)์„ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „, node.js๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋Š”์ง€ ๋ฒ„์ „์„ ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

 

node -v

 

 

node.js ๋ฒ„์ „์ด ํ™•์ธ๋˜์—ˆ๋‹ค๋ฉด typescript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

 

npm i typescript -g

 

 

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด .ts ํ™•์žฅ์ž๋ฅผ ๊ฐ–๋Š” index.ts๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์— tsc(ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์ปดํŒŒ์ผ) index.ts ์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

 

tsc index.ts

 

 

tsc ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ํ”„๋กœ์ ํŠธ ํด๋”์— ๋™์ผํ•œ ์ด๋ฆ„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ(.js ํ™•์žฅ์ž๋ฅผ ๊ฐ–๋Š” ํŒŒ์ผ)์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Œ์›นํŒฉ๊ณผ ๊ฐ™์€ ์›น ํƒœ์Šคํฌ ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด์„œ ๋ช…๋ น์–ด๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๋Š”

tsc ๋ช…๋ น์–ด๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์›นํŒฉ์˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ฑฐ๋‚˜ ๋ฌธ์„œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

(๊ฐ•์˜์ œ๊ณต์ž๋‹˜์ด ๊ณต์œ ํ•ด์ฃผ์‹  ๊ฐ•์˜ ๋ฐ ์ž๋ฃŒ๋Š” ํ•˜๋‹จ์— ์ ์–ด๋†“๊ฒ ์Šต๋‹ˆ๋‹ค!)

2. ์„ค์ • ํŒŒ์ผ

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ์˜ต์…˜์„ ์„ค์ •ํ•  ๋•Œ๋Š” tsconfig.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ์“ฐ์ด๋Š” ์„ค์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

 

1. allowJs: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ํ—ˆ์šฉํ•˜๋Š” ์˜ต์…˜

2. checkJs: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์—์„œ ํƒ€์ž… ๊ฒ€์‚ฌ ๋ฐ ์˜ค๋ฅ˜ ๋ณด๊ณ ๋ฅผ ์ง€์›ํ•˜๋Š” ์˜ต์…˜

3. noImplicitAny: ์•”์‹œ์ ์œผ๋กœ ํƒ€์ž…์„ Any๋กœ ์„ค์ •ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ์˜ต์…˜

 

์ด์™ธ์—๋„ ์ž์ฃผ ์“ฐ์ด๊ฑฐ๋‚˜ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ์„ค์ •์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ณต์‹๋ฌธ์„œ -> Tools -> References์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://www.typescriptlang.org/tsconfig

3. ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ

์ถ”๊ฐ€์ ์œผ๋กœ, ํƒ€์ž„์Šคํฌ๋ฆฝํŠธ ๊ณต์‹ ๋ฌธ์„œ์˜ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ(Playground) ํŽ˜์ด์ง€์—์„œ

์ž‘์„ฑํ•œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ฆ‰์„์—์„œ ์ปดํŒŒ์ผ๋ง ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

https://www.typescriptlang.org/play


๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ•์˜์ œ๊ณต์ž์ด์‹  ์บกํ‹ดํŒ๊ต๋‹˜์˜ ์œ ์šฉํ•œ ์ž๋ฃŒ๋“ค์„ ๊ณต์œ ํ•˜๋ฉด์„œ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ฒซ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์–ธ์ œ๋‚˜ ๋‚ฏ์„  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์Šค์Šค๋กœ ๋‘๊ณ ๋‘๊ณ  ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก

๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋Š” ์ค‘์ธ๋ฐ, ์ €์ฒ˜๋Ÿผ ํ—ค๋งค๋Š” ๋ถ„๋“ค์—๊ฒŒ๋„ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋˜๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด์ƒ ๋‚˜๋ฅผ ์œ„ํ•œ ์ผ์ด ํƒ€์ธ์—๊ฒŒ๋„ ๊ฐ€์น˜์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ์—˜๋ฆฌ์ œ์ด์˜€์Šต๋‹ˆ๋‹ค.๐Ÿ˜Ž

 

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์›นํŒฉ: Node.js์™€ NPM ๋ถ€๋ถ„์€ ๋ฌด๋ฃŒ๋กœ ์ˆ˜๊ฐ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Node.js์™€ NPM ํ•ธ๋“œ๋ถ

 

NPM ์„ค์น˜ ๋ช…๋ น์–ด ํ•ธ๋“œ๋ถ


์ธํ”„๋Ÿฐ์˜ ์œ ๋ฃŒ ๊ฐ•์˜ 'ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ž…๋ฌธ - ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค์ „๊นŒ์ง€'๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์ž‘์„ฑํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.

 

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ž…๋ฌธ - ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค์ „๊นŒ์ง€ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์ตœ์‹  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์„ ๋ชจ๋ฅด๋Š” ๋ถ„๋“ค๋„ ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ๊ต๊ณผ ๊ณผ์ •์„ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์–ด๋ ต๊ฒŒ๋งŒ ๋Š๊ปด์ง€๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž…๋ฌธ์ž ๊ด€

www.inflearn.com

(๊ฐ•์˜ ์ œ๊ณต์ž์ด์‹  ์บกํ‹ดํŒ๊ต ๋‹˜์˜ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํ•ธ๋“œ๋ถ๋„ ๊ฐ™์ด ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.๐Ÿ˜‡)