I think we need type definition for app to constraint its API like use, req and res or at least doc/comment to describe it, so that user won't make any mistake to use a customized server middleware.
And actually connect is a very pure middleware, it won't have much influence in performance except that it doesn't support async handler (which can be trickily implemented by calling nextafter await/in promise).
As customized server middleware may not be as efficiency as connect, maybe we should consider if it's necessary to open this door as it's similar to programmatical Nuxt usage.
If the customized server middleware is better than connect, we can just replace it with new one since app is very common (a server layer) and won't include special logic.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.