在Node.js Express中分割文件时出现错误

时间:2019-02-10 07:41:57

标签: javascript node.js json express

错误是:

  

抛出新的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。

1 个答案:

答案 0 :(得分:0)

app.use接受一个函数以应用于请求。您的products.js不会导出任何内容,因此当您需要它时,可变产品不是函数。尝试将module.exports设置为处理程序函数,而不是将其传递给路由器。