In a Node.js application based on express I load the compression middleware this way:
const express = require("express");
const compression = require("compression");
const app = express();
app.use(compression());
If I add a router to manage API requests should I load again compression in the router or its responses are already compressed?
const router = express.Router();
router.use(compression()); // Is this needed or not?
router.get(...); // and all other API methods
app.use("/api", router);
app.use("/", express.static("./pages"));
Thanks for clarifying!
No, you don't have to load the compression middleware into specific routes if you load it into your app.
Any middleware you load into your app will apply to all routes. These are application-level middleware.
app.use(middleware)
Any middleware you use for specific routes will not apply for any other route. These are router-level middleware.
router.get('/route', middleware, ...)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With