快递中的app.use连接到模型和路线时会导致错误

时间:2015-10-15 21:04:04

标签: mongodb express mongoose middleware

我在app.js页面设置我的路线和模型。我多次使用 app.use 。但是当我像这样引用我的模型和路线时

app.use('/api', require('./routes/api'));

我收到错误

throw new TypeError('Router.use() requires middleware function but got a
            ^
TypeError: Router.use() requires middleware function but got a Object

我对'/ api'的任何引用都是app.use给我一个错误。我正在关注John Papa风格指南。我在Express上的一些代码非常相似。似乎在热毛巾生成器中工作正常,但现在正在为我工​​作。想知道它是否可能是一个不同的问题,或者我是否遗漏了具体的东西。

我需要我的模特

var BeerList = require('./models/IBU');
var Beer = require('./models/beerName');

以下是我的package.json中的依赖项,没有什么不寻常的

"body-parser": "^1.8.2",
"express": "^4.12.2",
"express-session": "^1.11.3",
"mongoose": "^4.1.11",
"morgan": "^1.1.1",
"serve-favicon": "^2.0.1"

非常感谢任何见解。

由于

1 个答案:

答案 0 :(得分:1)

尝试不同的方式。在文件的顶部做:

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

然后把它放在底部。这可能是一个位置问题,因为分配路线应始终低于其他app.use的

app.use('/api', routes);