これが少しでも役立つ場合: Simon Holmes の著書「Getting MEAN with Mongo, Express, Angular, and Node」の第 3 章の指示に従っています。
ルートとコントローラーを別々のファイルに分離する初期段階にあります。変数とハードコードrequire('express').Router().get('/', ctrlMain.index);
、および同じ機能を持つ他の組み合わせの作成をバイパスすると、同じエラーが発生します。そのため、問題を の最初の行に絞り込みましたindex.js
が、エラーは同じファイルの 6 行目の GET メソッドを指しています。、、、ファイルと、以下に表示される完全なエラー メッセージをindex.js
提供しました。この情報が十分でない場合は、プロジェクト/ファイル構造の他の部分を喜んで提供します! うまくいけば、誰かが私を正しい方向に向けることができるでしょう。main,js
app.js
これは私のindex.js
ファイルです:
var express = require('express');
var router = express.Router();
var ctrlMain = require('../controllers/main');
/* GET home page. */
router.get('/', ctrlMain.index);
module.exports = router;
私のmain.js
ファイル:
/* GET home page */
module.exports.index = function(req, res) {
res.render('index', { title: 'Express' });
};
および私のapp.js
ファイル(これが役立つかどうかはわかりません):
var express = require('express')
, routes = require('./app_server/routes/index')
, user = require('./app_server/routes/user')
, http = require('http')
, path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/app_server' + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
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'));
});
最後に、ここに私が得ているエラーがあります:
TypeError: Cannot read property 'use' of undefined
at Object.<anonymous> (/home/ubuntu/workspace/lab5/app_server/routes/index.js:6:7)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/home/ubuntu/workspace/lab5/app.js:6:14)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)