diff --git a/src/node/plugin.ts b/src/node/plugin.ts
index 498f4c9f..219c18b6 100644
--- a/src/node/plugin.ts
+++ b/src/node/plugin.ts
@@ -307,7 +307,8 @@ export async function createVitePressPlugin(
if (url?.endsWith('.html')) {
res.statusCode = 200
res.setHeader('Content-Type', 'text/html')
- let html = `
+ let html = `\
+
diff --git a/src/node/plugins/dynamicRoutesPlugin.ts b/src/node/plugins/dynamicRoutesPlugin.ts
index 3be663c7..eca63a0c 100644
--- a/src/node/plugins/dynamicRoutesPlugin.ts
+++ b/src/node/plugins/dynamicRoutesPlugin.ts
@@ -187,10 +187,17 @@ export const dynamicRoutesPlugin = async (
// Also check if the file matches any custom watch patterns.
let watchedFileChanged = false
- for (const [, route] of routeModuleCache) {
+ for (const [file, route] of routeModuleCache) {
if (route.watch && isMatch(normalizedFile, route.watch)) {
route.routes = undefined
watchedFileChanged = true
+
+ for (const id of moduleGraph.delete(file)) {
+ const mod = this.environment.moduleGraph.getModuleById(id)
+ if (mod) {
+ modules.push(mod)
+ }
+ }
}
}
diff --git a/src/node/plugins/staticDataPlugin.ts b/src/node/plugins/staticDataPlugin.ts
index 8521603d..b0a7752b 100644
--- a/src/node/plugins/staticDataPlugin.ts
+++ b/src/node/plugins/staticDataPlugin.ts
@@ -150,7 +150,7 @@ export const staticDataPlugin: Plugin = {
const loader = idToLoaderModulesMap[id]
if (loader && loader.watch && isMatch(normalizedFile, loader.watch)) {
const mod = this.environment.moduleGraph.getModuleById(id)
- if (mod && !modules.includes(mod)) {
+ if (mod) {
modules.push(mod)
}
}