Inspired World

Node.js 에서 require를 활용해 소스를 정리해보자 본문

Node.js

Node.js 에서 require를 활용해 소스를 정리해보자

InspiredJW 2012. 2. 27. 22:30
Node.js 에서 require('경로'); 를 활용하면 그 .js 파일 기준으로 상대 경로에 위치한

js 파일을 가져와 쓸 수 있습니다.

여러 함수를 라우팅 페이지와 함께 다같이 몰아 넣는게 아니라

HTTP 요청을 라우팅 할 때 함수들을 의미 별로 파일로 나누어서 

관련 함수들을 모아놓고 사용하면 아주 유용하죠. 

문제는 저 상대 경로 입니다.

나름 절대 경로 비슷하게

자체적으로 root directory 가 있다면

그걸 기준으로 폴더나 파일을 정리해서

require를 사용하면 참 좋을텐데요.

이럴 때는

process.cwd() 를 활용하시면 해결됩니다.

예를들어

웹 프레임워크가 app.js 로 실행된다고 할 때

node app.js 로 실행을 하게 됩니다.

이 때 이 경로가 process.cwd가 됩니다.

각종 설정 파일들은
 
var path = process.cwd();
var config = require( path + '/config/db' );

이렇게 해주면

프로젝트 root directory 안에 있는 config 폴더 안에 있는 db.js 파일을 config 라는 변수에 로드하게 됩니다.

db.js 파일 안에서는 

module.exports.example = function(req, res) {
    console.log(" This is an example ");
};
이렇게 해주면

예제와 같이 함수를 정의했을 경우 config.example() 을 호출하면 node를 실행한 콘솔 창에 

"This is an example" 이라고 찍히게 됩니다.
Comments