자바스크립트 노드 모듈 시스템의 이해
노드 모듈 시스템이란?
노드 모듈 시스템은 자바스크립트 코드의 모듈화와 재사용성을 가능하게 한다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있으며, 프로젝트 규모가 커질수록 보다 체계적인 모듈 관리가 필요해진다.
모듈 생성과 불러오기
// 모듈 생성 (example.js)
module.exports = {
greeting: function() {
console.log("Hello World!");
}
}
위 예제는 `greeting` 함수를 가진 모듈을 생성하는 코드이다. 이를 다른 파일에서 사용하기 위해 다음과 같이 해당 모듈을 불러올 수 있다.
// 모듈 불러오기 (app.js)
const example = require("./example")
example.greeting() // "Hello World!"
모듈 공유와 충돌 방지
노드 모듈 시스템에서 모듈은 기본적으로 각각의 파일로 분리된다. 하지만 전역공간에서의 모듈 공유는 불가피하다. 따라서 모듈 내의 객체나 변수명이 충돌할 가능성을 고려해야 한다.
// 파일 1 (module-1.js)
const x = "test"
module.exports = { x }
// 파일 2 (module-2.js)
const x = "example"
module.exports = { x }
// 이후 모듈 불러오기 (app.js)
const module1 = require("./module-1")
const module2 = require("./module-2")
console.log(module1.x) // "test"
console.log(module2.x) // "example"
각 모듈은 독립적으로 존재하지만 변수명 충돌 문제가 발생하기 때문에 `const` 키워드를 사용하여 변수명 충돌을 방지할 수 있다.
외부 모듈 사용하기
노드 모듈 시스템을 통해 npm을 통해 설치한 모듈을 다음과 같이 불러올 수 있다.
const axios = require("axios")
axios.get("https://example.com/api").then((response) => {
console.log(response.data)
}).catch((error) => {
console.log(error)
})
노드 모듈 시스템은 자바스크립트 코드의 모듈화와 재사용성을 높이며,컴포넌트별 코드를 식별 가능하게 한다. 이를 통해 복잡성과 유지보수성 문제에 대한 대처를 가능케한다.
자바스크립트 노드 모듈 시스템은 모듈화와 코드 재사용성, 유지보수성등을 높이는 작업을 가능케 합니다.