JavaScript 22일차
node의 시작
Module이란?
프로그래밍에서 모듈이란 외부에 영향을 받지 않는 독립되고, 재사용을 가능하게 해주는 것입니다.
기본적으로 노드의 모듈은 javaScript 파일 하나와 1:1로 맵핑된다고 생각하면 된다.
좀 더 자세한 내용은
여기를 참고하면 될듯 하다.
require()
Node.JS에서 require는 메서드를 통해 외부 모듈을 가져올 수 있다. 다음과 같이 모듈의 파일 경로값을 받을 수 있다.
const MAIN = require("./main.js")
이제 아래의 예시를 보면서 좀 더 자세히 알아보자.
main.js
const myCircle = require("./circle.js");
console.log('abs(-273) = %d', myCircle.abs(-273));
console.log('circleArea(3) = %d', myCircle.circleArea(3));
console.log(3*3*3.146542)
위와 같이 main.js
에서는 require를 사용하여 circle.js
에 있는 함수를 사용하고있다.
단, main에서 circle에 있는 함수를 사용하기 위해서는 circle에서도 exports를 해주어야한다.
exports
exports는 모듈을 추출한다고 생각하면 된다.
두가지 방법이 있는데
첫번째는 사용할 함수명 앞에 exports를 붙여주는 것이다.
아래와 같이 exports.abs
와 같이 exports를 사용하면 main에서 require를 하였을때 저 abs함수를 사용할 수 있는 것이다.
두번째는 module.exports = { abs, circleArea }
를 추가해 주면 main에서 모듈을 사용할 수 있게 된다.
circle.js
exports.abs = function(number) {
if(number > 0) {
return number;
} else {
return -number;
}
};
exports.circleArea = function(radius) {
return radius * radius * Math.PI;
};
하나만 예시를 들어보자.
main에서 circle의 함수를 사용하기 위해선 위와같은 코드를 사용하면 된다.
console.log('abs(-273) = %d', myCircle.abs(-273));
myCircle 라는 변수에 require 해주었기 때문에 myCircle.abs
라고 선언하게 되면 circle.js의 abs함수에 -273이 대입되어 코드가 동작되게 된다.
Author And Source
이 문제에 관하여(JavaScript 22일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@leehangeul/JavaScript-22일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)