When using express, I often make the mistake of registering route handlers with relative paths:
const tagRoutes = require('./app/routes/tag.js');
app.use("api/tag", tagRoutes); // Should be "/api/tag"
Those routes are then inaccessible at /api/tag. But then where are they accessible?
The express path examples docs don't show an example for relative paths; they all begin with a /. This makes me wonder why not just preface every route with / if it isn't already.
When I turn on debugging for express, I see this:
...
express:router use 'api/tag' router +0ms
express:router:layer new 'api/tag' +0ms
...