[FE] type='module'과 defer

2023. 8. 16. 00:20·IT/Front-End

script 태그

<script> 태그에 사용되는 type='module'과 defer는 Javascript를 로드하고 실행하는 방식을 지정하는 속성이다. 각 속성의 기능과 특징은 다음과 같다.

type='module'

  • 이 속성을 사용하면 ECMAScript 모듈로서 로드하게 된다.
  • import와 export 문을 사용할 수 있다.
  • 모듈 스크립트는 항상 defer된 것처럼 동작하므로, 문서 파싱이 완료된 후에만 실행된다.
  • 모듈 스크립트는 기본적으로 CORS 체크를 수행하므로, 다른 출처에서 가져온 모듈을 로드하려면 해당 서버가 적절한 CORS 헤더를 제공해야 한다.
  • 인라인과 외부 모듈 스크립트 모두에 type='module'을 사용할 수 있다.
  • 모듈은 항상 strict mode에서 실행된다.

defer

  • defer 속성이 있는 스크립트는 HTML 문서의 파싱이 완전히 완료된 후에만 실행된다.
  • defer 속성은 외부 스크립트에만 적용될 수 있다.(src 속성이 있는 스크립트)
  • 문서의 파싱이 완료되고, DOMContentLoaded 이벤트 직전에 스크립트가 실행된다.
  • 여러 개의 defer 스크립트가 있다면, 스크립트는 페이지 내에서의 순서대로 실행된다.

흔히, defer 속성은 페이지 로딩 속성을 향상시키기 위해 외부 스크립트를 로드할 때 사용된다. 스크립트가 문서 파싱 중에 실행되는 것을 방지하고, 파싱이 완료된 후에 실행될 수 있도록 한다.

'IT > Front-End' 카테고리의 다른 글

Big projects are ditching TypeScript… why? 요약  (0) 2023.09.11
[JS] 코딩테스트 입문  (0) 2023.08.18
[FE] CSS 방식  (0) 2023.07.28
[JS] 배열의 합  (0) 2023.07.22
[FE] React.js + TS + eslint + prettier + bootstrap(with Docker)  (0) 2023.07.08
'IT/Front-End' 카테고리의 다른 글
  • Big projects are ditching TypeScript… why? 요약
  • [JS] 코딩테스트 입문
  • [FE] CSS 방식
  • [JS] 배열의 합
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (576)
      • 혼잣말 (88)
      • TIL (3)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (169)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (40)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    센디
    프로그래머스
    크래프톤정글
    핀토스
    사이드프로젝트
    머신러닝
    코드프레소
    pintos
    MailBadara
    나만무
    리액트
    NEAR Protocol
    Flutter
    docker
    OS
    블록체인
    부산대
    numpy
    글리치해커톤
    니어프로토콜
    Pint OS
    react
    해커톤
    딥러닝
    자바스크립트
    RNN
    졸업과제
    파이썬
    JavaScript
    알고리즘
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
[FE] type='module'과 defer
상단으로

티스토리툴바