Fix metadata routes prerender cache for standalone mode #49208
Merged
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.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #48962
Fixes #49009
Fixes #49107
Why
For standalone mode the
fs.readFile
is executed forroute.js
when the module is loaded, then the fs operation aginst the wrong file path will break the proper module loading, then it fallbacks to/_error
module.What
We move the fs read operation to the first get then cache the buffer in the module level variable, so that
fs.readFile
won't be executed. As we already have prerender cache, the meta/body fs cache will be HIT and served