2022. 8. 8. 02:12ㆍProgram/JavaScript
263_자바스크립트 처리 파일 분할하기 (ES 모듈)
[적용]
- 처리에 따라 파일을 분할하고 싶을 때
[내용]
ES 모듈은 여러 자바스크립트의 파일을 의존 관계에 따라 불러오는 작업을 한다.
규모가 큰 프로그램이 하나의 자바스크립트 파일만을 사용하게 되면
기능별 구조의 파악과 분류가 복잡하고 어려워 버그의 원인이 되기도 한다.
JavaScript
class MyClass1 {
// 10줄의 코드
}
class MyClass2 {
// 10줄의 코드
}
new MyClass1();
new MyClass2();
ES 모듈을 사용하면 처리에 따라 자바스크립트 파일의 분할이 가능하다.
내보내는 모듈은 export를, 가져오는 모듈은 import를 사용한다.
https://stonefree.tistory.com/452
[JavaScript] 자바스크립트에서 모듈 내보내기 (export)
264_자바스크립트에서 모듈 내보내기 [적용] 상수, 함수 등을 모듈로 내보내고 싶을 때 [문법] 구문 의미 export 모듈 모듈 내보내기 [내용] export는 모듈을 내보내기(외부에 공개) 위한 선언으로 expor
stonefree.tistory.com
https://stonefree.tistory.com/453
[JavaScript] 자바스크립트에서 모듈 가져오기 (import)
265_자바스크립트에서 모듈 가져오기 [적용] 모듈을 가져오고 싶을 때 서버의 모듈을 URL 지정하여 가져오고 싶을 때 [문법] 구문 의미 import { 모듈명 } from './파일명.js' 모듈 가져오기 [내용] import
stonefree.tistory.com
MyClass1과 MyClass2로 문자열을 가져와 #log 요소 내부에 출력하는 샘플을 확인해 보자.
JavaScript MyClass1.js
export class MyClass1 {
myMethod() {
return 'MyClass1 메소드가 실행되었습니다.';
}
}
JavaScript MyClass2.js
export class MyClass2 {
myMethod2() {
return 'MyClass2 메소드가 실행되었습니다.';
}
}
JavaScript main.js
// MyClass1.js 가져오기
import { MyClass1 } from './MyClass1.js';
// MyClass2.js 가져오기
import { MyClass2 } from './MyClass2.js';
// MyClass1 메소드로 문자열 가져오기
const message1 = new MyClass1().myMethod1();
// MyClass2 메소드로 문자열 가져오기
const message2 = new MyClass2().myMethod2();
// #log 요소에 출력
const log = document.querySelector('#log');
log.innerHTML += `<p>${message1}</p>`;
log.innerHTML += `<p>${message2}</p>`;
ES 모듈의 사용은 HTML script 태그에 type="module" 속성을 사용한다.
HTML index.html
<script type="module" sec="main.js" defer></script>
...생략...
<div id="log"></div>
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트에서 모듈 가져오기 (import) (0) | 2022.08.08 |
---|---|
[JavaScript] 자바스크립트에서 모듈 내보내기 (export) (0) | 2022.08.08 |
[JavaScript] 자바스크립트에서 this 기능(화살표함수) 사용하기 (0) | 2022.08.08 |
[JavaScript] 자바스크립트에서 클래스 데이터의 setter/getter 사용하기 (0) | 2022.08.07 |
[JavaScript] 자바스크립트에서 클래스 계승하기 (0) | 2022.08.07 |