JS 모듈이란?
-
JS 모듈 또는 ES 모듈, ECMAScript 모듈이라고도 함
-
자바스크립트의 중요한 새 기능 또는 새 기능들의 통칭
-
모듈은 프로그램의 일부분이라고 생각하면 됨
-
모듈은 하나 또는 그 이상의 Routine(함수, 메소드 등)으로 구성됨
ES6 Modules(ESM)
-
ES6이상부터 브라우저 환경에서 사용이 가능함
-
import, export를 이용해서 사용함
*import
-
다른 파일에서 모듈을 불러옴
-
default export를 불러오거나 named export를 불러옴
import name from "module-name";
import * as name from "module-name";
import { member } from "module-name";
import { member as alias } from "module-name";
import { member1 , member2 } from "module-name";
import { member1 , member2 as alias2 , [...] } from "module-name";
import defaultMember, { member [ , [...] ] } from "module-name";
import defaultMember, * as alias from "module-name";
import defaultMember from "module-name";
import "module-name";
-
name: 가져온 값을 받을 객체 이름
-
member, memberN: export된 모듈에서 멤버의 이름만 가져옴
-
defaultMember: export된 모듈의 default 이름을 지정함
-
alias, alias: 객체의 이름 지정
-
module-name: 가져올 모듈이름, 파일명
*export
-
자바스크립트 모듈에서 함수, 객체, 원시 값을 내보낼 때 사용함
-
내보낸 값은 다른 프로그램에서 import로 사용 가능
-
html내장 스크립트에 사용할 수 없음
-
기본적으로 named export, default export 두 가지 방법 존재
*named export
-
선언된 변수명 그대로 export함
-
모듈 내에 여러개 존재할 수 있음
-
변수 선언과 동시에 내보내도록 하거나 먼저 정의된 변수들을 모아서 내보내는 방법이 있음
*default export
-
모듈에서 하나만 존재할 수 있음
*export - from
-
import와 export를 한번에 처리할 수 있음
-
패키지의 다른 모듈들을 한 곳에 모아 일관된 형태로 내보내거나 관리하고자할 때 사용함
'웹개발(웹퍼블리셔) > 프론트엔드(HTML, CSS, JAVASCRIPT)' 카테고리의 다른 글
HTML SEMANTIC TAG(HTML 시맨틱 태그) -1- (0) | 2020.02.08 |
---|---|
(CSS3)root 변수 (0) | 2020.01.14 |
Fetch API / Ajax(XHR) (0) | 2020.01.08 |
JavaScript의 DOM (0) | 2020.01.07 |
CSS 미디어쿼리-@mediaquery (0) | 2020.01.06 |