Skip to content

Commit 397c54c

Browse files
committedMay 22, 2023
fix(nuxt): add type support for router composables without pages/ integration
1 parent 2518cf8 commit 397c54c

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed
 

‎packages/nuxt/src/pages/module.ts

+14-13
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,14 @@ export default defineNuxtModule({
6464
}
6565
})
6666

67+
// adds support for #vue-router alias (used for types) with and without pages integration
68+
addTemplate({
69+
filename: 'vue-router.d.ts',
70+
getContents: () => `export * from '${useExperimentalTypedPages ? 'vue-router/auto' : 'vue-router'}'`
71+
})
72+
73+
nuxt.options.alias['#vue-router'] = join(nuxt.options.buildDir, 'vue-router')
74+
6775
if (!nuxt.options.pages) {
6876
addPlugin(resolve(distDir, 'app/plugins/router'))
6977
addTemplate({
@@ -78,6 +86,12 @@ export default defineNuxtModule({
7886
return
7987
}
8088

89+
addTemplate({
90+
filename: 'vue-router.mjs',
91+
// TODO: use `vue-router/auto` when we have support for page metadata
92+
getContents: () => 'export * from \'vue-router\';'
93+
})
94+
8195
if (useExperimentalTypedPages) {
8296
const declarationFile = './types/typed-router.d.ts'
8397

@@ -261,17 +275,6 @@ export default defineNuxtModule({
261275
}
262276
})
263277

264-
// adds support for #vue-router alias
265-
addTemplate({
266-
filename: 'vue-router.mjs',
267-
// TODO: use `vue-router/auto` when we have support for page metadata
268-
getContents: () => 'export * from \'vue-router\';'
269-
})
270-
addTemplate({
271-
filename: 'vue-router.d.ts',
272-
getContents: () => `export * from '${useExperimentalTypedPages ? 'vue-router/auto' : 'vue-router'}'`
273-
})
274-
275278
// Add routes template
276279
addTemplate({
277280
filename: 'routes.mjs',
@@ -365,8 +368,6 @@ export default defineNuxtModule({
365368
filePath: resolve(distDir, 'pages/runtime/page')
366369
})
367370

368-
nuxt.options.alias['#vue-router'] = join(nuxt.options.buildDir, 'vue-router')
369-
370371
// Add declarations for middleware keys
371372
nuxt.hook('prepare:types', ({ references }) => {
372373
references.push({ path: resolve(nuxt.options.buildDir, 'types/middleware.d.ts') })

1 commit comments

Comments
 (1)

Poutou7 commented on May 31, 2023

@Poutou7

I don't understand,
The pages file I created for rounting is not responding to nuxt3.5.2
What is the alternative and what is the new way of routing?
Thank you.

Please sign in to comment.