728x90
728x90
Node.js에서 모듈 불러오는 방식 (require, import)
들어가며
- Node.js에서 모듈(Module)을 불러오는 방식은 크게 2가지가 있다.
- CommonJS 스타일로 불러오는 @require@ 방식과 ES6 모듈 스타일로 불러오는 @import@ 방식 2가지가 있다.
- 이 두 가지 방법의 차이점에 대해 알아보자.
Node.js에서 require
과 import
의 차이점?
require
require
는 Node.js의 기본 모듈 시스템에서 사용되는 방법이다.- CommonJS 스타일로 모듈을 가져온다.
// 파일 시스템 모듈 가져오기
const fs = require('fs');
// 사용자 정의 모듈 가져오기 (상대 경로 사용)
const math = require('./math');
require
로 가져온 모듈은 객체로 반환되며, 해당 모듈에서 노출된 함수, 변수 또는 객체를 사용할 수 있다.
import
import
는 ECMAScript 2015 (ES6) 이상에서 지원되며, 기본적으로 브라우저 환경에서 사용되는 모듈 시스템의 구문이다.- ES6 모듈 스타일로 모듈을 가져온다.
// 파일 시스템 모듈 가져오기
import fs from 'fs';
// 사용자 정의 모듈 가져오기 (상대 경로 사용)
import math from './math';
import
는 정적으로 모듈을 가져온다.- 즉, 모듈은 실행 시간에 가져오지 않고 미리 로드된다.
- 일반적으로
import
를 사용하려면 Node.js에서 ES6 모듈 시스템을 활성화해야 한다.- 이를 위해
.mjs
확장자를 가진 파일을 사용하거나package.json
파일에서"type"
필드를"module"
로 설정해야 할 수 있다.
- 이를 위해
- Node.js에서는 기본적으로
require
를 사용하는 것이 일반적이지만, ES6 모듈 시스템을 사용하려면 몇 가지 추가 설정이 필요하다. - Node.js 버전 14부터 ES6 모듈을 지원하며, 사용할 수 있는 환경에 따라 어떤 방법을 선택할지 결정할 수 있다.
@import@ 방식을 사용하기 위해서는?
- @npm@을 초기화할 때 생성되는 @package.json@ 파일에 다음의 옵션을 추가해준다.
"type": "module"
index.js
{
"name": "learning-npm",
"version": "1.0.0",
"description": "I'm learning about NPM",
"main": "index.js",
"type": "module", // 추가
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "devastra",
"license": "ISC",
"dependencies": {
"sillyname": "^0.1.0"
}
}
728x90
728x90
'Programming > Node.js' 카테고리의 다른 글
[Node.js] 모듈 설치 시 의존성 문제 해결하기 (npm-check-updates) (1) | 2023.11.27 |
---|---|
[Node.js] PostgreSQL 설치 및 사용해보기 (0) | 2023.11.17 |
[Node.js] EJS(Embedded JavaScript) (0) | 2023.11.09 |
[Node.js] morgan 패키지 (0) | 2023.11.09 |
[Node.js] body-parser 패키지 (0) | 2023.11.09 |
[Node.js] 노드몬(nodemon) 패키지 (0) | 2023.11.08 |
[Node.js] Express.js (0) | 2023.11.08 |
[Node.js] URL QR 코드 생성기 만들기 (0) | 2023.11.07 |