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를 참고해주세요.