// In development we expose all compiled files for react-error-overlay's line show feature
// We use unshift so that we're sure the routes is defined before Next's default routes
routes.unshift({
path:'/_next/development/:path*',
fn:async(req,res,params)=>{
constp=join(this.distDir,...(params.path||[]))
awaitthis.serveStatic(req,res,p)
}
})
// Makes `next export` exportPathMap work in development mode.
// So that the user doesn't have to define a custom server reading the exportPathMap
if(this.nextConfig.exportPathMap){
console.log('Defining routes from exportPathMap')
constexportPathMap=awaitthis.nextConfig.exportPathMap({},{dev:true,dir:this.dir,outDir:null,distDir:this.distDir,buildId:this.buildId})// In development we can't give a default path mapping
for(constpathinexportPathMap){
const{page,query={}}=exportPathMap[path]
// We use unshift so that we're sure the routes is defined before Next's default routes
routes.unshift({
path,
fn:async(req,res,params,parsedUrl)=>{
const{query:urlQuery}=parsedUrl
Object.keys(urlQuery)
.filter(key=>query[key]===undefined)
.forEach(key=>console.warn(`Url defines a query parameter '${key}' that is missing in exportPathMap`))