๐ฌ Answer
๐ ํ๋ฐํธ์๋ ๋น๋ ์์คํ
๐ ๋ฐ๋ฒจ์ด๋?
- ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์ดํดํ์ง ๋ชปํด์, babel์ด ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๋๋ก ๋ณํํด ์ค๋๋ค.
- ์ฆ, ํธํ์ฑ์ ์ํด ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ ํ์๊ฐ ์์ต๋๋ค.
- ํ์ฑ(Parsing) - ๋ณํ(Transforming) - ์ถ๋ ฅ(Printing)๋จ๊ณ๋ก ๋น๋๋ฅผ ์งํ.
์ฝ๋๋ฅผ ์ฝ๊ณ , ์ถ์ ๊ตฌ๋ฌธํธ๋ฆฌ๋ก ๋ณํํ๊ณ , ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ๋ฅผ ๋ณ๊ฒฝ, ๊ทธ๋ฆฌ๊ณ ๋ณ๊ฒฝ๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ถ๋ ฅํ๋ค.
- ๋ฐ๋ฒจ์ ํ์ฑ๊ณผ ์ถ๋ ฅ์ ๋ด๋นํ๊ณ , ํ๋ฌ๊ทธ์ธ์ด ๋ณํ์ ๋ด๋น.
- ๋ฐ๋ฒจ ํ๋ฌ๊ทธ์ธ(plugin)์ ๋ฐ๋ฒจ์ด ์ด๋ค ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ๋ณํํ ์ง์ ๋ํ ๊ท์น์ ๋ํ๋.
๐ ํด๋ฆฌํ์ด๋?
- ์ต์ ECMAScript ํ๊ฒฝ์ ๋ง๋ค๊ธฐ ์ํด ์ฝ๋๊ฐ ์คํ๋๋ ํ๊ฒฝ์ ์กด์ฌํ์ง ์๋ ๋นํธ์ธ, ๋ฉ์๋ ๋ฑ์ ์ถ๊ฐํ๋ ์ญํ .
- ๋ฐ๋ฒจ์ ES6+๋ฅผ ES5๋ก ๋ณํํ ์ ์๋ ๊ฒ๋ค๋ง ๋ณํํ๋๋ฐ, Promise๊ฐ์ด ES5์ ๋ณํํ ์ ์๋๊ฒ ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
=> ์ด๋ฐ ๊ฒฝ์ฐ ํด๋ฆฌํ์ ํตํด ์ด์๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ES5๋ฐฉ์์ผ๋ก ๊ตฌํํ์ฌ ํด๊ฒฐ.
๐ Node.js์ด๋?
- Javascript ๋ฐํ์์ด๋ค.
- ๋ฐํ์์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ
- REPL(Read, Eval, Print, Loop)์ ํตํด์ ๋ฐํ์์ ์ ๊ณตํ๋ค.
Read: ์ ์ ์ ์
๋ ฅ ๊ฐ์ ๋ฐ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
Eval: ์
๋ ฅ ๊ฐ์ ํ๊ฐ, ์คํ
Print: Eval๋ก ์ธํด ๋ฐํ๋ ๊ฐ์ ์ถ๋ ฅ
Loop: 1~3์ ๋ฐ๋ณต.
- REPL๋ณด๋ค๋ ๋ฐ๋ก ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ง๋ค์ด์ ์ฌ์ฉ.
๐ NPM์ด๋?
- Node Package Manager
- Node.js๋ก ๋ง๋ค์ด์ง ๋ชจ๋์ ์น์์ ๋ฐ์์ ์ค์นํ๊ณ ๊ด๋ฆฌํด์ฃผ๋ ํ๋ก๊ทธ๋จ
- package.jsonํ์ผ์์ ์ค์น๋ ๋ชฉ๋ก ๋ฐ ๋ฒ์ ํ์ธ์ด ๊ฐ๋ฅ.
๐ ESLint๋?
- JavaScript์ฝ๋์์ ๋ฐ๊ฒฌ๋ ๋ฌธ์ ํจํด์ ์๋ณํ๊ธฐ ์ํ ์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ.
- ์๋ฅผ ๋ค์ด end-tag๋ฅผ ๋ง๋ค์ง ์์๋ค๋ฉด end-tag๋ฅผ ์ถ๊ฐํ๋ผ๋ ๋ฉ์ธ์ง๊ฐ ๋ฌ๋ค.
- ์ฆ, ๋ฌธ๋ฒ์ ๋ง๊ฒ ์ฝ๋๋ฅผ ์งค ์ ์๋๋ก ๋์๋ง ์ญํ ์ ํด์ค๋ค.
๐ Prettier๋?
- VSCode Extension์ค ํ๋.
- ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ์๋์ผ๋ก ์ฝ๋ ์คํ์ผ์ ์ ๋ฆฌ ํด์ฃผ๋ ๋๊ตฌ.
- ๊ณต๋ฐฑ์ 4์นธ์ผ๋ก ์ค์ ํ๋ค๋ฉด tab๋๋ฅผ ์ 4์นธ์ฉ ์ด๋ํจ.
๐ ์น ํ์คํฌ ๋งค๋์ ๋?
- ์ฝ๋ ์์ ๋ค ์ ์ฅํ๊ณ , ๋ธ๋ผ์ฐ์ ์์ ์๋ก๊ณ ์นจ์ ๋๋ฌ์ผ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๋ณผ ์ ์๋ค.
- ์น ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌ์ html, css, js๋ฑ ํ์ผ์ ์์ถํ๊ฑฐ๋ ๋ณํํด์ผ ํ๋ค.
=> ์ด๋ฌํ ์ผ์ ์๋ํ ํด์ฃผ๋ ๋๊ตฌ
- Grunt์ Gulp๊ฐ์ ๋๊ตฌ๋ค.
๐ ์ฐธ๊ณ
https://devowen.com/293
https://perfectacle.github.io/2017/06/18/what-is-node-js/
https://m.blog.naver.com/magnking/220961896609
https://velog.io/@bab_bury/React-ESLint-Prettier-์ค์น-๋ฐ-์ค์
https://joshua1988.github.io/webpack-guide/motivation/why-webpack.html#ํ์ผ-๋จ์์-์๋ฐ์คํฌ๋ฆฝํธ-๋ชจ๋-๊ด๋ฆฌ
ํ๋ก ํธ์๋ ๋ฉด์ ์ค๋น ์ค์ธ๋ฐ ์ ๋ณด๊ณ ๊ฐ๋๋ค~