Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- github
- 콜백 함수
- 마소
- 자바스크립트
- non-blocking
- 750R
- NoSQL
- 웹디자인
- 개발환경
- AngularJS
- CSS
- git
- Microsoft
- npm
- Python
- node.js
- 마이크로소프트
- 빅데이터
- 제이쿼리
- MongoDB
- Javascript
- 크로스브라우징
- CoffeeScript
- 오픈소스
- Ajax
- callback function
- 테스트
- JQuery
- 인턴
Archives
- Today
- Total
Inspired World
Node.js 에서 require를 활용해 소스를 정리해보자 본문
Node.js 에서 require('경로'); 를 활용하면 그 .js 파일 기준으로 상대 경로에 위치한
js 파일을 가져와 쓸 수 있습니다.
여러 함수를 라우팅 페이지와 함께 다같이 몰아 넣는게 아니라
HTTP 요청을 라우팅 할 때 함수들을 의미 별로 파일로 나누어서
관련 함수들을 모아놓고 사용하면 아주 유용하죠.
문제는 저 상대 경로 입니다.
나름 절대 경로 비슷하게
자체적으로 root directory 가 있다면
그걸 기준으로 폴더나 파일을 정리해서
require를 사용하면 참 좋을텐데요.
이럴 때는
process.cwd() 를 활용하시면 해결됩니다.
예를들어
웹 프레임워크가 app.js 로 실행된다고 할 때
node app.js 로 실행을 하게 됩니다.
이 때 이 경로가 process.cwd가 됩니다.
각종 설정 파일들은
이렇게 해주면
프로젝트 root directory 안에 있는 config 폴더 안에 있는 db.js 파일을 config 라는 변수에 로드하게 됩니다.
db.js 파일 안에서는
예제와 같이 함수를 정의했을 경우 config.example() 을 호출하면 node를 실행한 콘솔 창에
"This is an example" 이라고 찍히게 됩니다.
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" 이라고 찍히게 됩니다.
'Node.js' 카테고리의 다른 글
JavaScript 및 Node.js에서 XSS 공격 막기 (0) | 2012.03.01 |
---|---|
JavaScript 및 Node.js, 전역 객체에 접근하기 (0) | 2012.03.01 |
Node.js 에서 멀티코어(Multi-core)를 사용해보자! (0) | 2012.02.08 |
Node.js에서 진정한 Non-blocking 코드 구현, forAsync 모듈! (8) | 2012.02.04 |
Node.js 를 이용한 웹 개발 - Express Framework (0) | 2012.02.01 |
Comments