2014-01-27 1 views
0

나는이 일반 expressjs은퍼팅 app.get() 루트 INA 별도의 파일

/** 
* Module dependencies. 
*/ 

var express = require('express'); 
var routes = require('./routes'); 
var user = require('./routes/user'); 
var http = require('http'); 
var path = require('path'); 

var app = express(); 

// all environments 
app.set('port', process.env.PORT || 3000); 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 
app.use(express.favicon()); 
app.use(express.logger('dev')); 
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.methodOverride()); 
app.use(app.router); 
app.use(express.static(path.join(__dirname, 'public'))); 

// development only 
if ('development' == app.get('env')) { 
    app.use(express.errorHandler()); 
} 

app.get('/', routes.index); 
app.get('/users', user.list); 

http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

을 app.js하고 난

app.get('/', routes.index); 
app.get('/users', user.list); 

를 제거하고 별도의 믿을수 오전에 넣고 싶어 이

module.exports = function(/* any dependency? */){ 
app.get('/', routes.index); 
app.get('/users', user.list); 
} 

을 시도하고 app.js 파일에 내가 require('./routed.js');

하지만 작동하지 않습니다. 어떻게 해결해야합니까?.

답변

0

이 시도 :

app.use(express.static(path.join(__dirname, 'public'))); 

require('./routed.js')(app); 

그리고 ./routed.js

module.exports = function(app){ 
app.get('/', routes.index); 
app.get('/users', user.list); 
} 
+0

조금 고쳤지만 작동하지만 성능 비용은 알지 못합니다. –

+0

이 작업을 위해서는'route routes = require ('./ routes'); var user = require ('./ routes/user');를 사용해야합니다. –

1

에서을 나는 krasu의 답변을했다 및 비트

routed.js

var routes = require('./routes'); 
var user = require('./routes/user'); 

module.exports = function(app){ 
app.get('/', routes.index); 
app.get('/users', user.list); 
} 

을에서 수정 app.js

require('./routed.js')(app); 

이 작동합니다.