Node.js는 모듈을 이용하여 기능을 확장합니다. 모듈은 기능을 쉽게 사용하고자 메서드와 속성을 미리 정의해 모아 놓는 것입니다.
실습을 해보면 모듈로 사용할 자바스크립트 파일과 메인 자바스크립트 파일을 생성합니다.
exports.abs = function(number){
if(0<number){
return number
}else{
return -number
}
}
exports.circleArea = function(radius){
return radius * radius * Math.PI
}
위와 같이 모듈 자바스크립트에 절대값을 구하는 abs와 원의 넓이를 구하는 circleArea 함수를 생성하고 exports객체를 사용하여 모듈로 생성하고 파일이름을 mymodule.js라고 만들었습니다.
위의 모듈을 메인 자바스크립트에서 호출하여 사용해보겠습니다. 메인 자바스크립트 파일은 main.js로 생성하고 아래와 같이 작성합니다.
var mymodule = require("./mymodule")
console.log(mymodule.abs(-333));
console.log(mymodule.circleArea(5));
모듈 자바스크립트의 모듈을 추출하고자 때는 require()함수를 사용합니다.
require()함수에서 확장자를 입력하지 않고 모듈이름을 입력할 때 2가지 상황을 생각합니다.
첫 번째로 실행할 파일과 같은 폴더 내부에서 mymodule.js 파일 또는 mymodule.node 파일을 찾습니다.
파일이 있다면 해당 파일의 exports 객체를 추출합니다.
두 번째로 파일이 없다면 mymodule폴더를 찾습니다. mymodule폴더가 있다면 mymodule 폴더 안 index.js 또는 index.node파일을 찾아 추출하게됩니다.
메인 자바스크립트 파일의 console.log를 통해 mymodule.js의 모듈을 실행해보면 다음과 같이 결과값이 나오게됩니다.
'NodeJS' 카테고리의 다른 글
process 객체 (0) | 2019.05.07 |
---|---|
console 객체 (0) | 2019.05.07 |
Node.js의 전역 객체 (0) | 2019.05.07 |
두번째 Node.js 애플리케이션 (0) | 2019.05.07 |
첫 번째 Node.js 애플리케이션 (0) | 2019.05.07 |