diff --git a/packages/devtools/client/composables/state.ts b/packages/devtools/client/composables/state.ts index 1cf01ec0d1..ec33f62f27 100644 --- a/packages/devtools/client/composables/state.ts +++ b/packages/devtools/client/composables/state.ts @@ -73,7 +73,8 @@ export interface VfsFile { } export function useVirtualFiles() { - return useAsyncState('vfs-list', () => $fetch('/_vfs.json', { baseURL: '/', responseType: 'json' })) + // Nitro v3 only serves `/_vfs/**`; the Accept header selects JSON on both Nitro v2 and v3 + return useAsyncState('vfs-list', () => $fetch('/_vfs/', { baseURL: '/', headers: { accept: 'application/json' }, responseType: 'json' })) } export function useMergedRouteList() { diff --git a/packages/devtools/client/pages/modules/virtual-files.vue b/packages/devtools/client/pages/modules/virtual-files.vue index b1dfa945d2..b0bb6e1690 100644 --- a/packages/devtools/client/pages/modules/virtual-files.vue +++ b/packages/devtools/client/pages/modules/virtual-files.vue @@ -23,7 +23,7 @@ const current = ref() watchEffect(() => { if (!fileId.value) return - const url = `/_vfs.json/${encodeURIComponent(fileId.value)}` + const url = `/_vfs/${encodeURIComponent(fileId.value)}` fetch(url, { headers: { accept: 'application/json',