Hello, Android!

node의 모듈 본문

Node

node의 모듈

lwndnjs93 2021. 1. 23. 23:23

노드와 자바스크립트의 차이점은 노드는 코드를 모듈로 만들수 있다

노드에서 모듈은 특정 기능을 수행하는 함수, 변수들의 집합이다

각종 기능들을 모듈로 만들어면 해당 모듈의 재사용이 가능하며

파일별로 코드를 모듈화 할수 있어 관리하기에 좋다

 

우선 friends 라는 폴더 내에 friends.js intro.js name.js 세개의 파일이 있는 상황이다

 

name.js 에서는 이름들을 정의하고

module.exports에 이름 변수들을 담은 객체를 넣었다

이후 다른 파일에서 name.js를 호출하면 module.exports에 정의된 값들을 사용할수 있다

 

intro.js에서는 name.js를 호출하여 각각의 변수들을 받아

함수 내에서 활용을 하고 함수들을 다시 module.exports 에 넣었다

 

그리고 다시 friends.js 에서는 intro.js를 호출하여

모듈에서 만든 각각의 함수들을 호출하고 있다

intro.js에서 정의한 함수들이 name모듈의 변수를 읽어 원하던 출력을 하였다

각각의 모듈에서 module.exports에 대입한 데이터를 사용할때

모듈을 호출하는 과정에서 모든 변수를 하나하나 명시하여 활용을 하였다

당연할수도 있지만 이때는 module.exports에 정의한 변수명, 함수명과 동일한 이름으로 호출하여야 한다

 

하지만 모듈을 사용하는 측에서는 하나하나 직접 명시하는것은 번거롭다

이런 경우 객체를 한번에 받아 필요한 변수, 함수에 접근하는것도 가능하다

이와같이 모듈을 각각 name, intro 라는 변수에 한번에 받고

상황에 맞게 객체 내의 변수, 함수를 호출하는 것이다

 

만약 모듈의 module.exports에 있는 모든 데이터를 사용하는 경우에는

두번째 처럼 객체를 한번에 받아 활용하는것이 편할것 같고

몇몇 데이터만 사용하는 경우 모듈을 호출할때

필요한 것들만 호출하여 사용하는것이 좋을것 같다

 

'Node' 카테고리의 다른 글

자식 프로세스  (0) 2021.01.30
thread  (0) 2021.01.30
crypto 모듈  (1) 2021.01.26
exports와 require  (0) 2021.01.26
node의 내장 객체(global, console, timer)  (0) 2021.01.24