node.js - 4. ES 모듈

김두나·2023년 12월 14일

node.js

목록 보기
4/6
post-thumbnail

ES모듈 시스템 사용법

1. package.json에 모듈 추가하기

package.json :: Node.js 프로젝트의 구성 및 종속성을 정의하는 파일입니다. 이 파일은 프로젝트의 루트 디렉토리에 위치하며, 프로젝트 정보, 종속성 패키지, 스크립트 등을 설정

  • package.json 파일에 ES모듈을 사용하겠다고 설정을 해줘야함(하지만 CommonJS모듇로 사용하면 오류발생하니 주의)
  • "type" : "module"을 package.json에 추가해줌( 항목을 추가할때는 객체에 항목으 추가하듯이 그 전 항목에 쉼표( , )를 붙여서 다른 항목이 온다는 것을 알려줘야함

2. 파일 확장자를 .mjs로 지정하기

CommonJS모듈과 ES모듈 시스템을 모두 사용해서 애플리케이션을 개발을 할 거라면 package.json을 수정하면 안됨.
그대신 ES모듈 시스템을 사용하는 파일의 확장자를 .js가 아닌 .mjs로 지정하고 실행할 때에도 .mjs 확장자를 붙여서 실행

ES 모듈 시스템에서 모듈 내보내기 - export, export default

1. 하나씩 내보내기 - export붙이기

  • 모듈에 있는 함수나 변수, 객체 가운데 외부에서 사용할 수 있게 할 대상 앞에 export를 붙임

(파일의 확장자가 .mjs라는 것도 확인)

2. 기본으로 내보내기 - export default

  • 모듈에서 내보낼 대상이 한개라면 export를 붙여도 되지만, 모듈 코드 마지막에 export default를 붙여 사용할수도 있음

3. 여러개 내보내기

  • 모듈을 여러개를 내보낼 때는 객체로 묶음 , 이때는 default를 붙이지 않음

ES 모듈 시스템에서 모듈 가져오기

1. import ~ from

  • import 뒤에 가져올 변수,함수이름 적고 from 뒤에는 모듈파일을 경로(상대경로) 작성함, 이때 확장자는 잊지말고 붙여야함

  • 가져올 변수나 함수가 한개면 import 뒤에 { }는 생략하고 작성할 수 있다.

2. import ~ as

  • import문에서 as예약어를 사용하면 가져오는 함수나 변수의 이름을 바꿔서 받을 수 있음
  • 둘 이상의 값을 가져와서 이름을 바꿀때도 같은 방법을 사용함.

3. import * as

  • 모듈에서 가져와야 할 것이 너무 많다면 * 기호를 사용해 모듈 안에 있는 모든 함수를 불러 올 수 있음
  • 만약, 모듈에서 여러 함수나 변수를 묶어서 내보낼때 export가 아니라 export default문을 사용했다면 이것은 객체가 1개를 내보낸 것으로 간주해서 * as 없이 개체 이름으로 가져올 수 있음

0개의 댓글