我在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"
非常感谢任何见解。
由于
答案 0 :(得分:1)
尝试不同的方式。在文件的顶部做:
var routes = require('./routes/api');
然后把它放在底部。这可能是一个位置问题,因为分配路线应始终低于其他app.use的
app.use('/api', routes);