모듈 Module
: 분리된 각각의 자바스크립트 파일, 각 파일은 특정한 목적을 가진 여러 개의 함수와 변수의 집합
사용하는 이유: 재사용을 위해!
함수와 변수를 객체에 담고 다른 자바스크립트 파일에서 사용하기 위해 module.exports에 대입하면 모듈로 적용된다.
모듈로 만들어진 자바스크립트 파일은 require()함수를 통해 가져올 수 있다.
Require VS Import
둘 다 외부 모듈/라이브러리를 불러오는데 사용된다.
Import라는 es6 모듈 시스템을 많이 사용하는 추세이지만, <script> 태그를 사용하는 브라우저 환경에서나, NodeJS 환경 또는 Babel 사용이 불가할 때 Require 를 사용하므로 알아둬야한다.
- commonjs
- equire / exports
- es6
- import / export / export default
// commonjs
const moment = require("moment");
// es6
import moment from "moment";
es6 모듈 설정 환경에서 commonjs 문법을 사용하거나, 반대로 사용할 경우에도 에러가 난다.
Nodejs에서 import/export 사용하는 방법
package.json 에 type을 module로 설정해준다.
{
...
"type" : "module"
...
}
ES6 import/export
require를 사용하는 commonJs 모듈 방식은 모듈 전체를 불러왔지만 ES6 부터는 모듈 내 정의된 것들중에 필요한 객체만 불러올 수 있기 때문에 성능과 메모리 측면에서도 좋아졌다.
ES6 import 방법
import { export된 변수명 } from " ./파일경로 "
import * as { 원하는 이름 } from " ./파일경로 "
ES6 export 방법
방법 1) Named exports
여러값을 export 하는데 유용하다
방법 2) Default exports
모듈 당 딱 한개의 default export만 있어야 한다.
CommonJS import/export
CommonJS require 방법
const foo = require('./파일경로')
CommonJS export 방법
방법 1) exports
여러개의 객체를 내보낼 경우
방법 2) module.exports
딱 하나의 객체를 내보낼 경우
728x90
반응형
'개발공부 > NodeJS' 카테고리의 다른 글
Nodejs 내장 모듈과 객체 (0) | 2023.05.27 |
---|---|
자주 사용하는 자바스크립트 문법 (1) | 2023.05.27 |
NodeJS 크롤링 만들어보기 (cheerio) (0) | 2023.05.27 |
[Node.js 프로젝트 투입 일주일 전] 클러스터 모드 (0) | 2023.05.21 |
[Node.js 프로젝트 투입 일주일 전] Nodejs 란? (0) | 2023.05.17 |
댓글