错误是:
抛出新的TypeError('Router.use()需要中间件功能,但是 有一个'+ gettype(fn))
文件(app.js)如下:
const express = require( 'express' )
const app = express()
const product = require( './api/routes/products')
app.use('/products', product )
module.exports = app;
然后在nodemon中说:
抛出新的TypeError('Router.use()需要中间件功能,但是 有一个'+ gettype(fn))
这是我的文件products.js:
const express = require( 'express' )
const router = express.Router()
router.get('/', ( req, res, next ) => {
res.status( 200 ).json( {
test: 'got it'
} )
})
是否缺少某些内容?我使用Express 4.0.16。
答案 0 :(得分:0)
app.use接受一个函数以应用于请求。您的products.js不会导出任何内容,因此当您需要它时,可变产品不是函数。尝试将module.exports设置为处理程序函数,而不是将其传递给路由器。