Skip to content

Commit a1bdbad

Browse files
authored
Move ensurePage to DevServer (#5582)
It's no longer needed inside the `render()` function since we have a separate devServer
1 parent 1496ad6 commit a1bdbad

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

packages/next-server/server/render.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ function getDynamicImportBundles (manifest, moduleIds) {
2424
}, [])
2525
}
2626

27-
const logger = console
28-
2927
// since send doesn't support wasm yet
3028
send.mime.define({ 'application/wasm': ['wasm'] })
3129

@@ -63,7 +61,6 @@ async function doRender (req, res, pathname, query, {
6361
err,
6462
page,
6563
buildId,
66-
hotReloader,
6764
assetPrefix,
6865
runtimeConfig,
6966
distDir,
@@ -74,11 +71,6 @@ async function doRender (req, res, pathname, query, {
7471
} = {}) {
7572
page = page || pathname
7673

77-
// In dev mode we use on demand entries to compile the page before rendering
78-
if (hotReloader) {
79-
await hotReloader.ensurePage(page)
80-
}
81-
8274
const documentPath = join(distDir, SERVER_DIRECTORY, CLIENT_STATIC_FILES_PATH, buildId, 'pages', '_document')
8375
const appPath = join(distDir, SERVER_DIRECTORY, CLIENT_STATIC_FILES_PATH, buildId, 'pages', '_app')
8476
let [buildManifest, reactLoadableManifest, Component, Document, App] = await Promise.all([
@@ -203,7 +195,7 @@ export async function renderScriptError (req, res, page, error) {
203195
return
204196
}
205197

206-
logger.error(error.stack)
198+
console.error(error.stack)
207199
res.statusCode = 500
208200
res.end('500 - Internal Error')
209201
}

packages/next/server/next-dev-server.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export default class DevServer extends Server {
88
constructor (options) {
99
super(options)
1010
this.hotReloader = new HotReloader(this.dir, { config: this.nextConfig, buildId: this.buildId })
11-
this.renderOpts.hotReloader = this.hotReloader
1211
this.renderOpts.dev = true
1312
}
1413

@@ -90,6 +89,17 @@ export default class DevServer extends Server {
9089
return this.renderErrorToHTML(compilationErr, req, res, pathname, query)
9190
}
9291

92+
// In dev mode we use on demand entries to compile the page before rendering
93+
try {
94+
await this.hotReloader.ensurePage(pathname)
95+
} catch (err) {
96+
if (err.code === 'ENOENT') {
97+
res.statusCode = 404
98+
return this.renderErrorToHTML(null, req, res, pathname, query)
99+
}
100+
if (!this.quiet) console.error(err)
101+
}
102+
93103
return super.renderToHTML(req, res, pathname, query)
94104
}
95105

0 commit comments

Comments
 (0)