๋ฐ๋๋ผJS ํ๋ก์ ํธ๋ฅผ ๋ง์น๊ณ .. ํ๋ก์ ํธ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์งํํ๋ค,
main.js script๋ฅผ body ํ๊ทธ ๋์ง์ ์ ๋ฐ๋ก ์์ชฝ์ ์ ์ด์ฃผ์ง ์์๋ค๋ ๊ฒ์ ์๋ฌธ์ ๊ฐ์ง์๋ค. defer๋ฅผ ๋ณด๊ณค
์, defer์ ๋์ ์ถ๊ฐํด์ฃผ์ จ๊ตฐ์!
๋ผ๊ณ ํ์
จ์๋ค. ์ฌ์ค ๋ถ๋๋ฝ์ง๋ง.. ๋ฌด์์์ ์ผ๋ก scriptํ๊ทธ์ defer๋ฅผ ์ถ๊ฐํ๋ฉด์๋.. ์ด ์์ด๊ฐ ์ ํํ ๋ฌด์จ ์ญํ ์ ํ๊ณ ์ด๋ค ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋์ง.. ๊ณต๋ถ๋ ํ์ง ์์์ฑ ์ฌ์ฉํ๊ณ ์์๋ ๊ฒ์ด์๋ค.
์ฌ์ค ํ๋ ์์ํฌ์ ์ต์ํด์ง๊ณ ๋ฒ๋ค๋ฌ(webpack, vite..)๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ด ๊ฐ๋
์ ๋ํด์ ์๋ตํด๋ฒ๋ฆฐ๊ฑธ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค...๐
ํ๋ ์์ํฌ๋ ์ข
์ข
๋ด๋ถ์ ์ผ๋ก ์คํฌ๋ฆฝํธ์ ๋ก๋ฉ์์๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋๊น....
scriptํ๊ทธ๋ ๋ก๋ฉ๋๊ธฐ์ , ๊ทธ๋๊น DOM ๋ ๋๋ง ์์ฑ์ ๋ฉ์ถ๊ณ script๋ฅผ ์คํํ๋๋ฐ ์ด๋ DOM ์์ฑ์ ์ค๋จํ์ง ์๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ๋์์ ๋ด๋ ค๋ฐ๊ฒ ํ ์ ์๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก defer์ด๋ค.
์น ํ์ด์ง์ ์ฑ๋ฅ ์ต์ ํ์์ JavaScript ํ์ผ์ ๋ก๋ฉ ์ ๋ต์ ๋งค์ฐ ์ค์ํ๋ฐ, defer ์ด์ธ์๋ async ์์ฑ์ ์คํฌ๋ฆฝํธ ๋ก๋ฉ ๋ฐฉ์์ ์ ์ดํ๋ ํต์ฌ ๋๊ตฌ์ด๊ธฐ์ ๊ฐ๋
์ ์ฐพ์๋ณด๊ฒ ๋์๋ค.

์ข์ ์ด๋ฏธ์ง ์๋ฃ๋ฅผ ์ฐพ์๋ค..!
<script src="script.js"></script>
<script defer src="script.js"></script>
DOMContentLoaded ์ด๋ฒคํธ ์ด์ ์ ์คํ<script async src="script.js"></script>
<script defer src="jquery.js"></script>
<script defer src="app.js"></script>
<script async src="analytics.js"></script>
<script async src="ads.js"></script>
์ฅ์ :
๋จ์ :
์ฅ์ :
๋จ์ :
์ผ๋ฐ ์คํฌ๋ฆฝํธ:
HTML ํ์ฑ ----[์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋/์คํ]---- HTML ํ์ฑ
defer:
HTML ํ์ฑ --------------------------------|
์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋ -------------[์คํ]
async:
HTML ํ์ฑ -------[์คํฌ๋ฆฝํธ ์คํ]-------
์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋ --[์คํ]
defer๋ ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋์ ์ ํฉasync๋ ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ ์คํฌ๋ฆฝํธ์ ์ ํฉ