私のサーバ上で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)
何が間違っていますか?ありがとう
インポッシブルに
から変更app.getから
をインポートするには、次の変更しましたが、はっきりと'routes'インポートが失敗しています。ちょうど何でもかまいませんが、あなたの環境が「同じ」で、ビルドプロセスが損なわれていないことを確認したいと思います。 –
@DaveNewtonと同意します。あなたのインポート(require( './ routes');)が失敗しています。 routes.jsのコードとプロジェクトのパス構造を投稿してください。そうでなければ、それ以上のことを助けるのは難しいです。 – deChristo
バージョンの違いがありますか? – user2238284