Express를 좀 쓰려고 이거저거 테스트를 하는데 샘플로 생성된 내용처럼 해도 잘 안된다. 원인도 모르고 문제도 모르니 검색이 참 난해했는데 간신히 찾았다. TㅅT
Express 샘플로 생성되는 app.js를 보면 routes.index라는 함수를 호출해서 사용한다. routes는 require("...")로 생성한 변수로 모듈을 읽어온 객체이다. index처럼 따라서 routes.user라는 녀석을 만들어 쓰고 싶은데 자꾸 모듈이 로딩되지 않는 것이다. 어헝~ 살려줘요~ TㅅT
여기서 문제는 routes 경로에 index.js라는 파일이 있길래 나도 따라서 user.js라는 파일을 생성해서 함수를 정의해 넣었다. 아래처럼..

그런데 require('./routes')를 통해서 로딩이 되어야할 user관련 함수들이 로딩이 되지 않는 것이다. 원인을 몰랐다. "user"가 예약어인가 하고 바꿔보고, 파일 이름도 바꿔보다가 간신히 찾았다. require(폴더명)을 사용하면 해당 폴더 안에 있는 "index.js" 모듈만 로딩된다. 그리고는 거꾸로 "node.js require index.js"라는 키워드로 검색 시작..
답은 node.js Manual에 있었다. 모듈을 로딩할 때 폴더명을 주면 "package.json"에 설정되어 있지 않으면 해당 폴더에서 "index.js"나 "index.node" 파일을 로딩한다는 것이다.
그리고 manual 아래쪽 All Together... 부분을 보면 전체적으로 모듈이 로딩되는 순서가 나와 있다. node.js는 볼 때 마다 신기하다. -ㅅ-;
Express 샘플로 생성되는 app.js를 보면 routes.index라는 함수를 호출해서 사용한다. routes는 require("...")로 생성한 변수로 모듈을 읽어온 객체이다. index처럼 따라서 routes.user라는 녀석을 만들어 쓰고 싶은데 자꾸 모듈이 로딩되지 않는 것이다. 어헝~ 살려줘요~ TㅅT
var express = require('express')
, routes = require('./routes');
...
//Routes
app.get('/', routes.index);
app.get('/user/:id', routes.user); // 새로 추가한 "/user/[USER_ID]" URL 매핑
, routes = require('./routes');
...
//Routes
app.get('/', routes.index);
app.get('/user/:id', routes.user); // 새로 추가한 "/user/[USER_ID]" URL 매핑
여기서 문제는 routes 경로에 index.js라는 파일이 있길래 나도 따라서 user.js라는 파일을 생성해서 함수를 정의해 넣었다. 아래처럼..

그런데 require('./routes')를 통해서 로딩이 되어야할 user관련 함수들이 로딩이 되지 않는 것이다. 원인을 몰랐다. "user"가 예약어인가 하고 바꿔보고, 파일 이름도 바꿔보다가 간신히 찾았다. require(폴더명)을 사용하면 해당 폴더 안에 있는 "index.js" 모듈만 로딩된다. 그리고는 거꾸로 "node.js require index.js"라는 키워드로 검색 시작..
답은 node.js Manual에 있었다. 모듈을 로딩할 때 폴더명을 주면 "package.json"에 설정되어 있지 않으면 해당 폴더에서 "index.js"나 "index.node" 파일을 로딩한다는 것이다.
그리고 manual 아래쪽 All Together... 부분을 보면 전체적으로 모듈이 로딩되는 순서가 나와 있다. node.js는 볼 때 마다 신기하다. -ㅅ-;
공유하기 버튼
|
|





덧글