Router.use middleware 🟩 Node.js

TypeError: Router.use() requires a middleware function but got a Object

app.use()/router.use() received an object instead of a function — usually a router module that wasn’t exported.

Seen on: Node.js

Meaning

Forgetting module.exports = router (or exporting { router }) passes {} to app.use.

Common causes

  • Missing module.exports = router
  • Named vs default export mismatch
  • Importing the wrong file

⚡ Quick fix

  1. Export the router: module.exports = router / export default router
  2. Match the import style

Detailed fix by platform

Node.js

  1. javascript
    // routes/users.js
    const router = express.Router();
    module.exports = router;

How to diagnose

  1. Export — What does the route file export?
  2. Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.