์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- next13 emotion
- ๊ตฌ๋ฆํค
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฝํ
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- ํ๋ก๊ทธ๋๋จธ์ค ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ์ค์ฝํ
- suspense ๋์์๋ฆฌ
- ๋ฐฑ์ค 1339๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ
- suspense react-query
- ๋ฐฑ์ค 2108 ์๋ฐ์คํฌ๋ฆฝํธ
- js
- ๋ฐฑ์ค 1339๋ฒ js
- ์นด์นด์ค ์ฝํ
- ๋ฐฑ์ค 1339๋ฒ nodejs
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง ํ๊ณ
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ์์ด ์์ถ
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ์์ถ
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง
- suspense ๋ณ๋ชฉํ์
- js ๋ฌธ์์ด ์์ถ
- emotion RSC
- app router emotion
- suspense ๋น๋๊ธฐ
- ์ต์ ๋์ฒด์ด๋
- js ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ๋ฐฑ์ค 2108 nodejs
- emtion app router
- ์ฌ์ฉ์ฑ ๊ฐ์
- js ์ค์ฝํ
- ๋ฆฌ์กํธ์ฟผ๋ฆฌ suspense
- Today
- Total
Lennon FE
๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ (2) - jsํ์ฑ ๋ฐ ์คํ, ๋ฆฌํ๋ก์ฐ ๋ฐ ๋ฆฌํ์ธํธ ๋ณธ๋ฌธ
๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ (2) - jsํ์ฑ ๋ฐ ์คํ, ๋ฆฌํ๋ก์ฐ ๋ฐ ๋ฆฌํ์ธํธ
Lennon 2021. 11. 24. 12:48https://parkparkpark.tistory.com/47
์๋ฐ์คํฌ๋ฆฝํธ ํ์ฑ ๋ฐ ์คํ
HTML ๋ฌธ์๋ฅผ ํ์ฑํ ๊ฒฐ๊ณผ๋ฌผ๋ก์ ์์ฑ๋ DOM์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์์ DOM API๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์ผ๋ก ์กฐ์ํ ์ ์๋ค.
HTML, CSS๋ฅผ ํ ์ค์ฉ ์์ฐจ์ ์ผ๋ก ํ์ฑํ๋ฉฐ DOM๋ฅผ ์์ฑํ๋ค๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ก๋ํ๋ ์ฝ๋ ๋ ํ๊ทธ๋ฅผ ๋ง๋๋ฉด DOM์์ฑ์ ์ผ์ ์ค๋จํ๋ค. ์ดํ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ ์ด๊ถ์ ๋๊ธด ํ ๋์ ์ผ๋ก DOM์ ์กฐ์ํ๋ฉฐ ๋๋๋ฉด ์ ์ด๊ถ์ ๋ค์ ๋ ๋๋ง ์์ง์ผ๋ก ๋๊ฒจ HTMLํ์ฑ์ ์ฌ๊ฐํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์์ง์์๋ ์ฝ๋๋ฅผ ์คํํ ๋ ํ ํฌ๋์ด์ง๊ณผ ํ์ฑ์ด ์ด๋ฃจ์ด์ง๋ค.
ํ ํฌ๋์ด์ง: ๋จ์ํ ๋ฌธ์์ด์ธ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค์ฝ๋๋ฅผ ์ดํ ๋ถ์ํ์ฌ ๋ฌธ๋ฒ์ ์๋ฏธ๋ฅผ ๊ฐ๋ ์ฝ๋์ ์ต์ ๋จ์์ธ ํ ํฐ๋ค๋ก ๋ถํดํ๋ค.
ํ์ฑ: ํ ํฐ๋ค์ ์งํฉ์ ๊ตฌ๋ฌธ ๋ถ์ํ์ฌ AST(์ถ์์ ๊ตฌ๋ฌธ ํธ๋ฆฌ)๋ฅผ ์์ฑํ๋ค. AST๋ ํ ํฐ์ ๋ฌธ๋ฒ์ ์๋ฏธ์ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ํ ํธ๋ฆฌ ๊ตฌ์กฐ์ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
ํ์ฑ์ ๊ฒฐ๊ณผ๋ฌผ๋ก ์์ฑ๋ AST๋ ์ธํฐํ๋ฆฌํฐ๊ฐ ์คํํ ์ ์๋ ์ค๊ฐ ์ธ์ด์ธ ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํ๋๊ณ , ์คํ๋๋ค.
๋ฆฌํ๋ก์ฐ์ ๋ฆฌํ์ธํธ
์๋ฐ์คํฌ๋ฆฝํธ์์ DOM API๋ฅผ ์ฌ์ฉํ์ ๋ ๋ณ๊ฒฝ๋ DOM๊ณผ CSSOM์ ๋ค์ ๋ ๋ ํธ๋ฆฌ๋ก ๊ฒฐํฉ๋๊ณ , ๋ค์ ๋ฆฌํ๋ก์ฐ ๋ฐ ๋ฆฌํ์ธํธํ๋ค.(๋ฐ๋ณต ๋ ๋๋ง)
script ํ๊ทธ๋ฅผ body์์ ๊ฐ์ฅ ์๋์ชฝ์ ์์น์ํค๋ ์ด์
1. DOM์ด ์์ฑ๋์ง ์์ ์ํ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์กฐ์ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์
2. ์๋ฐ์คํฌ๋ฆฝํธ ๋ก๋ฉ/ํ์ฑ/์คํ์ผ๋ก ์ธํด HTML ์์๋ค์ ๋ ๋๋ง์ ์ง์ฅ๋ฐ๋ ์ผ์ด ๋ฐ์ํ์ง ์์ ํ์ด์ง ๋ก๋ฉ ์๊ฐ์ด ๋จ์ถ๋จ
script ํ๊ทธ์ async/defer ์์ฑ
์๋ฐ์คํฌ๋ฆฝํธ ํ์ฑ์ ์ํ DOM์์ฑ์ด ์ค๋จ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ถ๊ฐ๋ ์์ฑ์ด๋ค.
ex) <script async src="index.js"><script>
<script defer src="index.js"><script>
async ์์ฑ: HTML ํ์ฑ๊ณผ ์ธ๋ถ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ก๋๊ฐ ๋น๋๊ธฐ์ ์ผ๋ก ๋์์ ์งํ๋๋ค. ์คํ์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ ๋ก๋๊ฐ ์๋ฃ๋ ์งํ ์งํ๋๋ฉฐ ์ด๋ HTMLํ์ฑ์ ์ค์ง๋๋ค.
์ฃผ์ํ ์ : ์์ ๋ณด์ฅ์ด ํ์ํ script ํ๊ทธ์๋ async ์์ฑ์ ์ง์ ํ์ง ์์์ผ ํ๋ค.(๋ก๋๊ฐ ์๋ฃ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ถํฐ ์คํ๋๋ฏ๋ก ์์๊ฐ ๋ณด์ฅ๋์ง ์์)
defer ์์ฑ: async์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ๋ถ ์๋น์คํฌ๋ฆฝํธ ๋ก๋์ HTMLํ์ฑ์ด ๋์์ ์งํ๋๋ค. ๋จ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ฑ๊ณผ ์คํ์ HTMLํ์ฑ์ด ์๋ฃ๋ ์งํ ์งํ๋๋ค. ์ฆ DOM์์ฑ์ด ์๋ฃ๋ ํ ์คํ๋์ด์ผ ํ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์ฉํ๋ค.
'๐งโ๐ป Web > Browser' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ (1) - DOM, CSSOM๊ณผ ๋ ๋ ํธ๋ฆฌ (0) | 2021.11.19 |
---|