Skip to content

Commit 30f8834

Browse files
pi0pooya parsa
authored andcommitted
fix(server): HMR for sub-app serverMiddleware without path (nuxt#7146)
1 parent bfdc77b commit 30f8834

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

packages/builder/src/builder.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ export default class Builder {
742742
}
743743

744744
// Log
745-
consola.info(`[HMR] ${chalk.cyan(newItem.route)} (${chalk.grey(fileName)})`)
745+
consola.info(`[HMR] ${chalk.cyan(newItem.route || '/')} (${chalk.grey(fileName)})`)
746746
}
747747
// Tree may be changed so recreate watcher
748748
this.serverMiddlewareHMR()

packages/server/src/server.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,11 @@ export default class Server {
260260
(typeof middleware.route === 'string' ? middleware.route : '')
261261
).replace(/\/\//g, '/')
262262

263+
// Strip trailing slash
264+
if (middleware.route.endsWith('/')) {
265+
middleware.route = middleware.route.slice(0, -1)
266+
}
267+
263268
// Assign _middleware to handle to make accessable from app.stack
264269
middleware.handle._middleware = middleware
265270

@@ -294,11 +299,7 @@ export default class Server {
294299
serverStackItem.handle = handle
295300

296301
// Error State
297-
if (route.includes('#error')) {
298-
serverStackItem.route = serverStackItem.route || '/'
299-
} else {
300-
serverStackItem.route = route
301-
}
302+
serverStackItem.route = route
302303

303304
// Return updated item
304305
return serverStackItem

packages/server/test/server.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ describe('server: server', () => {
333333

334334
test('should use object middleware', () => {
335335
const nuxt = createNuxt()
336-
nuxt.options.router = { base: '/' }
336+
nuxt.options.router = { base: '' }
337337
const server = new Server(nuxt)
338338
const handler = jest.fn()
339339

@@ -348,7 +348,7 @@ describe('server: server', () => {
348348

349349
test('should use function module middleware', () => {
350350
const nuxt = createNuxt()
351-
nuxt.options.router = { base: '/' }
351+
nuxt.options.router = { base: '' }
352352
const server = new Server(nuxt)
353353
const handler = jest.fn()
354354
nuxt.resolver.requireModule.mockReturnValueOnce(handler)

0 commit comments

Comments
 (0)