현대의 웹사이트에서는 대부분의 script
들이 HTML
보다 "무겁다".
프로젝트가 커질수록 다운로드할 크기가 커져서 페이지가 로드되는 속도가 느려진다. 그만큼 User
에게 늦게 보여질 것이다.
이를 고치기위해 보통 데이터베이스나 백엔드에서 최적화 처리를 하게 된다. 하지만 이보다 더 쉽게 프론트엔드에서 페이지가 로드되는 속도를 빠르게 처리할 수 있다.
자바스크립트를 어떻게 로딩하느냐에 따라 프로세싱 속도가 달라질 수 있다.
브라우져가 HMTL
을 로드하는중에 <script>...</script>
태그를 만나면
이 스크립트가 실행이 된 후에 완료가 되면 이어서 HTML
이 로드가 된다.
<!DOCTYPE html>
<html>
<head>
<script> // `HTML parser`가 이줄에 오면 `script`가 실행이 됨
// 실행이 끝나면 다시 남은 `html`을 `parsing`함
</script>
</head>
<body>
</body>
</html>
script
태그의 위치에 따른 장단점
<script asyn src="main.js"></script>
<script defer src="main.js"></script>
🔔 defer옵션을 쓰는 이유 :
출처
- [Web Dev Simplified]https://www.youtube.com/watch?v=BMuFBYw91UQ
- [Scripts: async, defer]https://javascript.info/script-async-defer
- [드림코딩]https://www.youtube.com/watch?v=tJieVCgGzhs