JavaScript 22일차

펭도리·2021년 2월 21일
0

JavaScript

목록 보기
22/32
post-thumbnail

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이 대입되어 코드가 동작되게 된다.

profile
풀스택 개발자가 되고싶은 코린이 이한글

0개의 댓글