-
[ECMA Script6] 6. 모듈 과 CommonJSLanguage/Javascript 2020. 1. 4. 20:01
1. 모듈
모듈이란 외부의 JS 파일에서 일부 기능 또는 변수 정보들을 불러와, 활용 할 수 있는 것을 말합니다.
외부로 노출하는 방법은, 아래 예제처럼 export를 활용하면 됩니다.123//log.jsexport const print(message) => log(message, new Date())export const log(message, time) => console.log(`${time.toString()}: ${message}`}cs 만일 노출되는 대상을 특정 이름으로만 익스포트 할 경우에는, 아래와 같이 default 키워드르 사용하면 됩니다.
아래는 filter 이름으로만 외부로 노출되는 예제입니다.1234// uploader.jsconst filter = {"dll","exe","jsp","aspx","mht","js"}export default filtercs 외부모듈을 import 하는 예제입니다.
12345678910import {print, log} from './log'import filter from './uploader'print('print !!!')print('log !!!')filter.print()cs 외부에서 import한 모듈의 Alias도 변경 할 수 있습니다.
1234import {print as p, log as l} from './log'p('print !!!')l('log !!!')cs 아래와 같이 *(와일드카드)를 이용하면 특정 로컬 이름 안에 모듈을 담을 수도 있습니다.
1import * as func from './log'cs 2. CommonJS
CommonJS는 모든 버젼의 노드에서 지원하는 일반적인 모듈의 패턴을 말합니다.
아래 예제를 보시면 쉽게 이해 하실 수 있습니다.
위의 1번에서는 모듈을 export하는 방법은 export를 이용하였으나, CommonJS 모듈 패턴에서는 module.exports를 이용하여 외부로 노출합니다.123456//log.jsconst print(message) => log(message, new Date())const log(message, time) => console.log(`${time.toString()}: ${message}`}module.exports ={print, log}cs CommonJS는 모듈을 import 시, import 키워드가 아니라 require 함수를 이용하여 모듈을 가져옵니다.
1const {log, print} = require('./log')cs 'Language > Javascript' 카테고리의 다른 글
[ECMA Script6] 5. 클래스 (0) 2019.12.21 [ECMA Script6] 4. 스프레드 연산자 (0) 2019.12.14 [ECMA Script6] 3. ES6객체와 배열 (0) 2019.12.07 [ECMA Script6] 2. 화살표 함수(arow function) 및 트랜스파일링 (0) 2019.11.30 JSON 규격 RFC-7159 (Proposed Standard) The JavaScript Object Notation (JSON) Data Interchange Format (0) 2019.07.15 댓글