안녕하세요 ㅎㅎ 오늘은 모듈로 나눈후 불러와서 사용하는방법에 대해 알아보겠습니다.
모듈로 나누었을때의 효율성은 다들 아시겟지만 필요한 함수만 불러와서 사용한다면 다른곳에서도 재사용 할 수 있기 대문에 효율적인 관리가 가능하겠
죠?? 물론 코드의 관리도 훨씬 쉬워집니다.
모든 기본코딩의 간단한 예제인 계산기를 사용해보겠습니다.
exports에 추가하는 방법과 , module.exports에 추가하는 방법이 있습니다. 오늘은 첫번재 방식으로 진행하겠습니다.
파일명 : calc.js /** * Created by yunjin on 2017-12-13. */ /* 더하기 */ exports.add = function(a,b){ return a + b; } /* 빼기 */ exports.minus = function (a,b){ return a - b; } /* 곱하기 */ exports.multi = function (a,b){ return a * b; } /* 나누기 */ exports.div = function (a,b){ return a / b; }
exports라는 전역객체에 4개의 함수를 추가하였습니다.
추가를 하였으니 이제 직접적으로 사용해 봐야겠죠??
/** * Created by yunjin on 2017-12-13. */ 파일명 : moduleTest.js /** 파일의 경로와 파일의 이름 주의사항. 확장자명인 .js는 적지 않는다 */ var calc = require('./calc'); console.log(`calc.js 모듈로 부터 불러온 add() 호출 : ${calc.add(5,5)} `); console.log(`calc.js 모듈로 부터 불러온 minus() 호출 : ${calc.minus(7,5)} `); console.log(`calc.js 모듈로 부터 불러온 multi() 호출 : ${calc.multi(5,5)} `); console.log(`calc.js 모듈로 부터 불러온 div() 호출 : ${calc.div(10,2)} `);
위의 코드를 보면 아시겠지만 모듈을 불러올때는 require()메소드를 사용하며 require() 메소드의 파라미터로 파일명을 전달합니다.
require()메소드를 호출하면 모듈객체가 반환되는데 calc.js에서 exports에 설정한 메소드들을 이 require()를통해 반환된 객체로 접근할 수 있습니다.
실행 결과를 확인해보죠.
moduleTest.js를 실행했을때 add, minus , multi , div를 require()로 불러와 moduleTest.js에서 호출해서 사용하였고 다음과 같은 결과를 확인할 수 있습니다.
참고 - 모듈을 불렀지만 해당 js가 없다면 어떻게 될까요?? 정답은 파일이 없다면 이름이 calc인 폴더를 찾아 그안에 있는 index.js를 불러들인다고 나와있네요 ㅎㅎ
반응형
'Node' 카테고리의 다른 글
[Node] fs 모듈 - 첫번째 파일 읽기 (0) | 2017.12.14 |
---|---|
[Node]url 관련 모듈 사용해보기 (0) | 2017.12.14 |
[Node] 프로세스 객체 process (2) | 2017.12.13 |
[Node] 실행 파일의 경로 구하기. (0) | 2017.12.13 |
[Node] Node 서버 테스트 맛보기! (0) | 2017.08.28 |
댓글