2016-12-14 12 views
0

私のサーバ上でnode.jsエクスプレスサーバが動作していました。私は最近、新しいサーバーに移行し、以前のコードが何とか動作しなくなった。ここでNode.jsルートが動作していないnode.js +エクスプレスサーバ

慰めるために私のサーバーのセットアップこの行で

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

インポッシブルに

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

から変更app.getから

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

をインポートするには、次の変更しましたが、はっきりと'routes'インポートが失敗しています。ちょうど何でもかまいませんが、あなたの環境が「同じ」で、ビルドプロセスが損なわれていないことを確認したいと思います。 –

+0

@DaveNewtonと同意します。あなたのインポート(require( './ routes');)が失敗しています。 routes.jsのコードとプロジェクトのパス構造を投稿してください。そうでなければ、それ以上のことを助けるのは難しいです。 – deChristo

+0

バージョンの違いがありますか? – user2238284

答えて

0

こんにちは、これはばかげたように見えるかもしれませんが、私はスニペットでそれを参照してください。 'app.listen(PORT);'を追加してもよろしいですか? それ以外の場合は、おそらくあなたのパッケージの設定を追加することができます、そこに何かがあるかもしれません。 これは一般的に環境の変化です。どのようなシステムを以前に使用していましたか、現在どのシステムをホストしていますか。 これで少し明確になりました。

+0

はい、私はそれをしました。 – user2238284

+0

'listen'は失敗した' require'の問題に対処しません。 –

0

私はそれを動作させました。私は

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

に、私が言うことを

app.get('/', routes); 
関連する問題