ES modules์ ์ถ๊ฐ์ ํจ๊ป ์ด์ JS ์ฝ๋๋ฅผ ๋ก๋ํ๊ธฐ ์ํ 24๊ฐ์ง ์ด์์ ๋ฐฉ๋ฒ์ด ์๊ฒผ์ต๋๋ค: (inline|not inline) x (defer|no defer) x (async|no async) x (type=text/javascript | type=module | nomodule) -- ๊ทธ๋ฆฌ๊ณ ์ด๋ค์ ๋ฏธ๋ฌํ๊ฒ ๋ค๋ฆ ๋๋ค.
์ด ๋ฌธ์์์๋ ์์ฑ ๊ฐ๋ค์ ๋ฐ๋ผ HTML์ <script> ํ๊ทธ๊ฐ ์ฒ๋ฆฌ๋๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋น๊ตํ์ต๋๋ค.
๋ง์ฝ <script async type="module"> ํน์ <script nomodule defer src="...">์ ์ธ์ ์จ์ผ ํ ์ง ๊ถ๊ธํดํ์
จ๋ค๋ฉด ์ ์ค์
จ์ต๋๋ค!
Note ์ด ๋ฌธ์๋ <script> ํ๊ทธ๋ค์ด HTML์ ์ถ๊ฐ๋์์ ๋๋ฅผ ๋ค๋ฃน๋๋ค; ๋ฐํ์์ ์ถ๊ฐ๋๋ <script> ํ๊ทธ๋ค์ ๋์์ ์ฌ๋ญ ๋ค๋ฅด๋ Jake Archibald (2013)๋์ Deep dive into the murky waters of script loading๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.