-
1. node.js를 이용한 모듈화IT&개발/node.js 2015. 8. 12. 07:54728x90반응형
이번시간부터는 node에 대하여 공부하여 보겠다. 노드는 서버사이드에서 구동하는 자바스크립트이다. 그렇기에 기본적으로
자바스크립트와 유사하며 모든 형식이 non-blocking 이다. 즉, 비동기 형식이다.
첫번째로 공부할 것은 node의 모듈화를 하는 방법과 유의사항이다.
모듈 파일인 <testModule.js>를 생성하여 본다. 그리고 모듈들의 기능이나 변수를 export.test1,export.test2,export.myinfo()
로 객체의 변수로 정의한다.
그리고 <test.js>라는 파일을 만들어서 필요한 객체 require을 한뒤 객체의 변수들을 각각 console창에 찍어본다.
<tip> 모듈화를 하였을 때 모듀들을 실제 사용하려면 본파일에 객체를 불러와야 한다.
이때 사용하는 형식이 require()을 사용하는 것이다.
var 변수명 = require(" 모듈이름 ")
그리고 이때 생각해야 하는 것이 모듈이 내부모듈인가 내가 정의한 모듈인가 이다. 내가 정의한 모듈이라면
모듈이름에 "./모듈이름"을 해야 한다. 이것은 현재의 디렉토리에서 모듈이름의 파일을 찾아서 객체화하기 때문이다.
내부모듈이라면 "모듈이름"만 써도 되겠다.
위의 그림에서 보이듯이 콘솔창에 test1, test2, myinfo()가 제대로 출력이 된것을 확인할 수 있다.
process.cwd()는 현재 파일이 어디서 실행되었는지를 보여주는 함수이다.
그렇다면 이번엔 아까와 <test.js>는 코드가 동일하지만 <testModule.js>에서 exports.~~ 형식으로 모듈화한 뒤 module.exports를
이용하여 마무리 코드를 사용해 보겠다.
실행한 결과 undefined와 myinfo()부분에서는 오류가 난다. 이 뜻은 결국 앞에 코드들이 없어졌다는 뜻이다.
module.exports = " " 이것은 앞에것을 무시한 새롭게 모듈을 추출하는 형태이기 때문이다.
그래서 모듈화를 할때 반환되는 값이 하나일때는 이형식을 사용하여도 좋지만 여러값인 경우에는 exports.변수명 = 정의
형식으로 하면 좋다.
앞의 console을 주석처리한 뒤 다시 실행하면 console창에 잘찍히는 것을 환인할 수 있다.
반응형'IT&개발 > node.js' 카테고리의 다른 글
5. node.js - express를 이용한 MVC모델 구축[간단한 웹서버] -시리즈3:form tag post (0) 2015.08.13 4. node.js - express를 이용한 MVC모델 구축[간단한 웹서버] -시리즈2:QueryString (3) 2015.08.12 3. node.js - express를 이용한 MVC모델 구축[간단한 웹서버] -시리즈1 (2) 2015.08.12 3. node 파일시스템 모듈 fs 사용하기. (0) 2015.08.12 2. node에서 이벤트 처리하기 (0) 2015.08.12