export와 import로 파일의 공개 API와 의존성을 나눕니다.
ES module은 각 파일이 독립된 스코프를 가지며 export한 값만 다른 모듈에서 import할 수 있습니다. 브라우저의 script type=module은 자동으로 지연 실행되고 strict mode가 적용됩니다. import()는 필요할 때 Promise로 모듈을 불러옵니다.
source 문자열에는 course와 count를 export하는 작은 모듈이 들어 있고, 인코딩한 data URL이 그 모듈의 주소가 됩니다. await import(url)은 export한 이름을 속성으로 가진 모듈 네임스페이스 객체를 돌려주므로 module.course와 module.count로 JavaScript: 66강을 만듭니다. 이 async 함수에는 catch가 없어 불러오기에 실패해도 바깥 try/catch가 잡지 못합니다.
파일과 기능의 책임을 나누고 배포 결과를 예측 가능하게 만들 때 필요한 기준입니다. 공개 API, 실행 환경과 의존성 방향을 명시하세요.
브라우저 module 경로에는 파일 확장자와 정확한 상대 URL이 필요한 경우가 많고 로컬 file URL보다 개발 서버에서 확인해야 합니다.
직접 바꿔보세요모듈에 summary 함수를 export하고 동적 import 뒤 호출하세요.