E:\ wordspace \的javascript \的NodeJS-演示\ node_modules \表达\ lib中\路由器\ index.js:502 this.stack.push(层);
TypeError: Cannot read property 'push' of undefined
at Function.route (E:\wordspace\javascript\nodejs-demo\node_modules\express\lib\router\index.js:502:13)
at Function.proto.(anonymous function) [as get] (E:\wordspace\javascript\nodejs-demo\node_modules\express\lib\router
\index.js:509:22)
at Object.<anonymous> (E:\wordspace\javascript\nodejs-demo\routes\movie.js:6:8)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (E:\wordspace\javascript\nodejs-demo\app.js:11:13)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
这是我的错误报告。
我无法忍受这个问题的根源,并且需要一种方法来解决它。
这是我的代码。
movie.js
var Movie = require('./../models/Movie.js');
var express = require('express');
var router = express.Router;
/* Get add page. */
router.get('/movie/add', function(req, res, next){
if(req.params.name){
return res.render('movie', {
title:req.params.name+'|电影|管理|movie.me',
label:'编辑电影:'+req.params.name,
movie:req.params.name
});
} else {
return res.render('movie', {
title:'新增加|电影|管理|movie.me',
label:'新增加电影',
movie:false
});
}
});
router.post('/movie/add', function(req, res, next){
res.send({'success':true});
});
app.js
var routes = require('./routes/index');
var movie = require('./routes/movie');
var users = require('./routes/users');
app.use('/', routes);
app.use('/movie', movie);
app.use('/users', users);
请帮帮我。
答案 0 :(得分:41)
路由器是一个功能:EXECUTE 'BEGIN ' || rec || '; END';
答案 1 :(得分:1)
有更正,请使用
const router = express.Router();
代替
const router = express.Router;
答案 2 :(得分:0)
在movie.js
中,
var router = express.Router;
应该是
var router = express.Router();
因为express.Router
是一个函数,它返回Express.js docs中提到的 mini-app 的实例。
路由器实例是一个完整的中间件和路由系统;因此,它通常被称为“迷你应用”。
快乐的编码。