2016-12-14 3 views
0

У меня был узловой сервер node.js, запущенный на моем сервере. Недавно я перешел на новый сервер, и как-то предыдущий код прекратил работать.Node.js не работает рабочий узел node.js + express

Вот настройка моего сервера

var fs = require('fs'); 
var express = require('express'); 
var routes = require('./routes'); 
var https = require('http'); 
var path = require('path'); 
var socketio = require('socket.io'); 
var util = require('util'); 
var url = require('url'); 
var HashMap = require('hashmap').HashMap; 
var sizeOf = require('image-size'); 
var DBWrapper = require('node-dbi').DBWrapper; 
var DBExpr = require('node-dbi').DBExpr; 
var dbConnectionConfig = { host: 'localhost', user: 'mps', password: 'password', database: 'mps_schools' }; 
dbWrapper = new DBWrapper("pg", dbConnectionConfig); 
dbWrapper.connect(); 

var app = express(); 

app.set('port', process.env.PORT || 3001); 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 
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'))); 


app.get('/', routes.index); 

На этой строке кода нарушения

app.get('/', routes.index); 

ведение журнала "routes.index" утешать, я получаю "неопределенные"

/home/mps/node_modules/express/lib/router/index.js:291 
throw new Error(msg); 
    ^
Error: .get() requires callback functions but got a [object Undefined] 
at /home/mps/node_modules/express/lib/router/index.js:291:11 
at Array.forEach (native) 
at Router.route (/home/mps/node_modules/express/lib/router/index.js:287:13) 
at Router.(anonymous function) [as get] (/home/mps/node_modules/express/lib/router/index.js:318:16) 
at Function.app.(anonymous function) [as get] (/home/mps/node_modules/express/lib/application.js:412:26) 
at Object.<anonymous> (/home/mps/app22.js:62:5) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 

Что я делаю неправильно? Спасибо

+1

Невозможно сказать, но ясно импорт маршрутов не работает. Может быть что угодно, но я бы удостоверился, что ваша среда «такая же», ваш процесс сборки не поврежден и т. Д. –

+0

Согласитесь с @DaveNewton. Ваш импорт (require ('./ routes');) не работает. Отправьте код route.js и структуру вашего проекта. В противном случае трудно помочь больше. – deChristo

+0

не может быть из-за различия версий? – user2238284

ответ

0

Привет, это может показаться немым, но я не видел его в фрагменте. Вы уверены, что добавили 'app.listen (PORT);' В противном случае вы могли бы добавить свою конфигурацию пакета, там может быть что-то. Обычно это изменение окружающей среды. В какой системе вы были раньше, и какую систему вы сейчас используете. Надеюсь, это дало немного ясности.

+0

да, я сделал это. – user2238284

+0

'listen' не будет решать проблему сбоя' require'. –

0

Я получил его для работы. Я изменил следующее импортировать

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

в

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

и от app.get я изменился с

app.get('/', routes.index); 

в

app.get('/', routes);