1

これが少しでも役立つ場合: Simon Holmes の著書「Getting MEAN with Mongo, Express, Angular, and Node」の第 3 章の指示に従っています。

ルートとコントローラーを別々のファイルに分離する初期段階にあります。変数とハードコードrequire('express').Router().get('/', ctrlMain.index);、および同じ機能を持つ他の組み合わせの作成をバイパスすると、同じエラーが発生します。そのため、問題を の最初の行に絞り込みましたindex.jsが、エラーは同じファイルの 6 行目の GET メソッドを指しています。、、、ファイルと、以下に表示される完全なエラー メッセージをindex.js提供しました。この情報が十分でない場合は、プロジェクト/ファイル構造の他の部分を喜んで提供します! うまくいけば、誰かが私を正しい方向に向けることができるでしょう。main,jsapp.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)

4

0 に答える 0