Search code examples
node.jsexpressnode.js-connect

Proper way to remove middleware from the Express stack?


Is there a canonical way to remove middleware added with app.use from the stack?

It seems that it should be possible to just modify the app.stack array directly, but I wonder if there is a documented method I should consider first.


Solution

  • use actually comes from Connect (not Express), and all it really does is push the middleware function onto the app's stack.

    So you should be just fine splicing the function out of the array.

    However, keep in mind there is no documentation around app.stack nor is there a function to remove middleware. You run the risk of a future version of Connect making changes incompatible with your code.