Router.use middleware Node.js Origin: Application & API Last updated 13 Oct 2026

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.

Exact message you may see Router.use() requires a middleware functionapp.use() requires a middleware function
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 not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

1046 — MySQL ERROR 1046 (3D000): No database selected (MySQL)1046declared and not used — Go: declared and not used: x / "fmt" imported and not used (Go)declared and not usedERR_HTTP_HEADERS_SENT — Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client (Node.js)ERR_HTTP_HEADERS_SENTnot a constructor — TypeError: x is not a constructor (JavaScript)not a constructorpath-to-regexp — TypeError: Missing parameter name at 1 (path-to-regexp) (Node.js)path-to-regexpreq.body undefined — Express: req.body is undefined / {} (body parser missing) (Node.js)req.body undefinedTDZ — ReferenceError: Cannot access 'x' before initialization (JavaScript)TDZTypeError: not a function — TypeError: x is not a function (JavaScript)TypeError: not a func…Router.us…

Explore the map of this error Full error map →

🧠 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.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.