728x90
반응형
SMALL
Do it! Node.js 프로그래밍 입문 공부단 1일차 입니다.
모듈이란?
프로그램을 만들 때에는 최대한 작은 기능 단위로 쪼개서 각 기능을 하나씩 해결하는 방식을 가장 많이 사용합니다. 이렇게 기능별로 만들어 놓은 함수를 모듈이라고 합니다.
CommonJS 모듈 시스템과 ES모듈 시스템
require()를 통해 모듈을 가져오는 방식을 CommonJS 모듈 시스템이고 import 변수/함수명 from '모듈파일' 형태로 가져오는 방식이 ES모듈 시스템입니다. 하위 버전과의 호환을 위해 CommonJS 모듈을 사용할 수 있고 최신 문법이나 타입스크립트를 사용한다면 ES모듈 시스템을 사용합니다.
// 모듈 만들고 내보내기
const user1 = "Jun"
const user2 = "Lim"
const user3 = "Kim"
module.exports = {user1,user2,user3} // 객체로 만들어서 내보내기
// 모듈 만들고 내보내기
const hello = (name) => {
console.log(`${name}님 안녕하세요`)
}
module.exports = hello
// 모듈 가져와서 사용하기
const users = require("./user")
const hello = require("./hello")
hello(users.user1)
hello(users.user2)
hello(users.user3)
모듈을 가져올 때는 상대경로로 지정합니다. 확장자는 생략할 수 있습니다.
노드의 코어 모듈
노드에는 백엔드 개발에 필요한 모듈이 내장되어 있습니다. 이 모듈을 코어 모듈이라고 합니다.
fs | 파일이나 폴더에 접근할 수 있는 기능을 제공 |
http | http서버를 만들고 요청을 처리하는 기능을 제공 |
path | 파일 경로와 관련된 작업을 하는 기능을 제공 |
streams | 데이터 스트림을 처리하는 기능을 제공 |
crypto | 암호화와 관련된 기능을 제공 |
os | 운영체제와 상호작용하는 기능을 제공 |
util | 다양한 유틸리티 함수를 제공 |
events | 이벤트 기반 프로그래밍을 지원하는 기능을 제공 |
// import 하는 법
const fs = require("fs")
const fs = require("node:fs")
글로벌 모듈
require없이 사용할 수 있는 모듈입니다. 글로벌 모듈에 있는 객체를 글로벌 객체라고 합니다. 대표적으로 console이 있습니다. 글로벌 객체 console은 미리 정의되어 있는 log함수를 사용합니다.
__dirname, __filename
글로벌 모듈에 있는 여러 변수 중에서 자주 사용하는 두 변수 입니다.
__dirname | 이 변수는 현재 모듈이 있는 폴더 이름을 가져옵니다. |
__filename | 이 변수는 현재 모듈이 있는 파일 이름을 가져옵니다. |
모두 절대경로로 표시합니다.
타이머 함수 - setTimeout, setInterval, clearInterval
이 함수들도 노드에서 글로벌 객체로 사용할 수 있습니다.
728x90
반응형
LIST
'Node.js' 카테고리의 다른 글
[Node.js] 노드제이에스 - FS 모듈. 파일 관리하기 (0) | 2024.02.03 |
---|---|
[Node.js] 노드제이에스 - FS 모듈 (0) | 2024.02.03 |
[Node.js] 노드제이에스 - Path 모듈 (0) | 2024.02.03 |
[Node.js] 노드제이에스 - 자바스크립트 기초 문법과 모듈 (2) | 2024.02.02 |
[Node.js] 노드제이에스 - 백엔드 개발 (0) | 2024.02.01 |