app.use express 在连接到模型和路线时导致错误

app.use in express is causing error when connecting to a model and route

我正在 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"

如有任何见解,我们将不胜感激。

谢谢

换个方式试试。在文件顶部执行:

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

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

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