๋๋ฒ์งธ ํฌ์คํ โ(1) ๋ด๊ฐ ์์ฑํ ์ฝ๋ โ ์น ํ๋ฉด์ ๋์ค๊ธฐ๊น์ง - ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ โ์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ฑ ๊ณผ์ ์ ๋ํด ํ์ตํ์๋ค.
๋ค์์ ๊ทธ ์ค๋ช ์ค ํ๋์ด๋ค.
<script>
ํ๊ทธ๋ฅผ ๋ง๋๋ฉด ๋ ๋๋ง ์์ง์ ํ์ฑ์ ์ ์ ์ค๋จํ๊ณ script๋ฅผ ์ฝ๋๋ค.์ด๋ก ์ธํด ๋ฆฌ์์ค๋ฅผ ๋ค์ด๋ก๋ํ๊ณ , ํ์ฑํ๊ณ , ์คํํ๋ ๋์
ํ๋ฉด ๋ ๋๋ง์ ์๋ ์ง์ฐ์ด ์๊ธฐ๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ์๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ๊ทธ ๋ฐฉ๋ฒ์ธ async์ defer์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค.
์ผ๋ฐ ์คํฌ๋ฆฝํธ์ย async
ย ์์ฑ์ด ์กด์ฌํ๋ฉด HTML ๊ตฌ๋ฌธ ๋ถ์ ์ค์๋ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ์ ธ์ค๋ฉฐ, ์ฌ์ฉ ๊ฐ๋ฅํด์ง๋ ์ฆ์ ์คํํ๋ค.
์ถ์ฒ: ๊ฐ์ธ ๋ธ๋ก๊ทธ - [Browser] async์ defer
<script src="a.js" async>
<script src="b.js" async>
<script src="c.js" async>
๋ง์ฝ ์ฌ๋ฌ ์คํฌ๋ฆฝํธ ํ๊ทธ์ async ์์ฑ์ด ์์ ๊ฒฝ์ฐ ๊ทธ ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค.
๋ฐ๋ผ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ์ข ์์ฑ์ด ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ HTML ๊ตฌ๋ฌธ ๋ถ์ ์ค ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ์ ธ์ค์ง๋ง, ์ฆ์ ์คํํ๋ ๊ฒ์ด ์๋ DOM์ ์ฒซ๋ฒ์งธ ์๋ช ์ฃผ๊ธฐ์ธ DOMContentLoaded ์ด์ ์ ์คํ๋๋ค.
์ถ์ฒ: ๊ฐ์ธ ๋ธ๋ก๊ทธ - [Browser] async์ defer
<script src="a.js" defer>
<script src="b.js" defer>
<script src="c.js" defer>
defer ์์ฑ์ ๊ฐ์ง ์คํฌ๋ฆฝํธ๋ ๋ฌธ์์์ ์์๋ฅผ ๋ฐ๋ผ ์คํ๋๋ฏ๋ก,
์คํฌ๋ฆฝํธ ํ์ผ์ ์ข ์์ฑ์ด ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
์ถ์ฒ
๊ฐ์ธ ๋ธ๋ก๊ทธ - [Browser] async์ defer
velog - ์น ๋ธ๋ผ์ฐ์ ์ ์๋ ๊ตฌ์กฐ
mdn ๋ฌธ์ - <script>
: ์คํฌ๋ฆฝํธ ์์