@nuxt/docs-nightly 4.2.2-29381721.51356a46 → 4.2.2-29385650.ab3dd9a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/1.getting-started/01.introduction.md +1 -1
- package/1.getting-started/03.configuration.md +5 -5
- package/1.getting-started/04.views.md +5 -5
- package/1.getting-started/05.assets.md +7 -7
- package/1.getting-started/06.styling.md +5 -5
- package/1.getting-started/07.routing.md +7 -7
- package/1.getting-started/08.seo-meta.md +3 -3
- package/1.getting-started/09.transitions.md +6 -6
- package/1.getting-started/10.data-fetching.md +2 -2
- package/1.getting-started/11.state-management.md +2 -2
- package/1.getting-started/12.error-handling.md +3 -3
- package/1.getting-started/13.server.md +2 -2
- package/1.getting-started/14.layers.md +3 -3
- package/1.getting-started/16.deployment.md +1 -1
- package/1.getting-started/17.testing.md +1 -1
- package/1.getting-started/18.upgrade.md +6 -6
- package/2.directory-structure/0.nuxt.md +1 -1
- package/2.directory-structure/0.output.md +1 -1
- package/2.directory-structure/1.app/1.assets.md +2 -2
- package/2.directory-structure/1.app/1.components.md +2 -2
- package/2.directory-structure/1.app/1.composables.md +2 -2
- package/2.directory-structure/1.app/1.layouts.md +3 -3
- package/2.directory-structure/1.app/1.middleware.md +1 -1
- package/2.directory-structure/1.app/1.pages.md +7 -7
- package/2.directory-structure/1.app/1.plugins.md +2 -2
- package/2.directory-structure/1.app/1.utils.md +3 -3
- package/2.directory-structure/1.app/3.app.md +4 -4
- package/2.directory-structure/1.content.md +1 -1
- package/2.directory-structure/1.modules.md +1 -1
- package/2.directory-structure/1.node_modules.md +1 -1
- package/2.directory-structure/1.server.md +3 -3
- package/2.directory-structure/1.shared.md +3 -3
- package/2.directory-structure/2.env.md +2 -2
- package/2.directory-structure/2.nuxtignore.md +1 -1
- package/2.directory-structure/2.nuxtrc.md +1 -1
- package/2.directory-structure/3.nuxt-config.md +1 -1
- package/2.directory-structure/3.package.md +1 -1
- package/2.directory-structure/index.md +24 -24
- package/3.guide/1.concepts/{3.rendering.md → 1.rendering.md} +1 -27
- package/3.guide/1.concepts/{2.vuejs-development.md → 10.vuejs-development.md} +4 -3
- package/3.guide/1.concepts/{10.nuxt-lifecycle.md → 2.nuxt-lifecycle.md} +32 -25
- package/3.guide/1.concepts/{1.auto-imports.md → 3.auto-imports.md} +5 -5
- package/3.guide/1.concepts/4.server-engine.md +3 -3
- package/3.guide/1.concepts/5.modules.md +1 -1
- package/3.guide/1.concepts/7.esm.md +1 -0
- package/3.guide/1.concepts/8.typescript.md +4 -4
- package/3.guide/2.best-practices/performance.md +2 -2
- package/3.guide/3.ai/.navigation.yml +3 -0
- package/3.guide/3.ai/1.mcp.md +255 -0
- package/3.guide/3.ai/2.llms-txt.md +65 -0
- package/3.guide/{3.recipes → 4.recipes}/1.custom-routing.md +1 -1
- package/3.guide/{3.recipes → 4.recipes}/2.vite-plugin.md +1 -1
- package/3.guide/{3.recipes → 4.recipes}/3.custom-usefetch.md +1 -1
- package/3.guide/{3.recipes → 4.recipes}/4.sessions-and-authentication.md +1 -1
- package/3.guide/{4.going-further → 5.going-further}/1.events.md +2 -3
- package/3.guide/{4.going-further → 5.going-further}/1.experimental-features.md +4 -4
- package/3.guide/{4.going-further → 5.going-further}/1.internals.md +3 -2
- package/3.guide/{4.going-further → 5.going-further}/10.runtime-config.md +2 -2
- package/3.guide/{4.going-further → 5.going-further}/2.hooks.md +2 -2
- package/3.guide/{4.going-further → 5.going-further}/3.modules.md +2 -2
- package/3.guide/{4.going-further → 5.going-further}/6.nuxt-app.md +3 -3
- package/3.guide/{4.going-further → 5.going-further}/7.layers.md +11 -11
- package/4.api/1.components/12.nuxt-route-announcer.md +1 -1
- package/4.api/1.components/2.nuxt-page.md +2 -2
- package/4.api/1.components/3.nuxt-layout.md +5 -5
- package/4.api/1.components/5.nuxt-loading-indicator.md +1 -1
- package/4.api/1.components/7.nuxt-welcome.md +2 -2
- package/4.api/2.composables/use-app-config.md +1 -1
- package/4.api/2.composables/use-nuxt-app.md +4 -4
- package/4.api/2.composables/use-response-header.md +1 -1
- package/4.api/2.composables/use-route.md +1 -1
- package/4.api/2.composables/use-router.md +2 -2
- package/4.api/2.composables/use-runtime-config.md +1 -1
- package/4.api/3.utils/$fetch.md +1 -1
- package/4.api/3.utils/abort-navigation.md +1 -1
- package/4.api/3.utils/add-route-middleware.md +1 -1
- package/4.api/3.utils/define-nuxt-plugin.md +2 -2
- package/4.api/3.utils/define-nuxt-route-middleware.md +1 -1
- package/4.api/3.utils/define-page-meta.md +6 -6
- package/4.api/3.utils/navigate-to.md +1 -1
- package/4.api/3.utils/update-app-config.md +2 -2
- package/4.api/4.commands/module.md +3 -3
- package/4.api/4.commands/prepare.md +1 -1
- package/4.api/4.commands/preview.md +1 -1
- package/4.api/4.commands/typecheck.md +1 -1
- package/4.api/5.kit/1.modules.md +1 -1
- package/4.api/5.kit/2.programmatic.md +2 -2
- package/4.api/6.advanced/1.hooks.md +1 -1
- package/4.api/6.nuxt-config.md +4 -4
- package/5.community/6.roadmap.md +10 -10
- package/5.community/7.changelog.md +10 -0
- package/6.bridge/1.overview.md +1 -1
- package/6.bridge/2.typescript.md +1 -1
- package/6.bridge/3.bridge-composition-api.md +1 -1
- package/6.bridge/4.plugins-and-middleware.md +2 -2
- package/7.migration/11.server.md +1 -1
- package/7.migration/2.configuration.md +2 -2
- package/7.migration/20.module-authors.md +1 -1
- package/7.migration/3.auto-imports.md +1 -1
- package/7.migration/5.plugins-and-middleware.md +2 -2
- package/7.migration/6.pages-and-layouts.md +6 -6
- package/package.json +1 -1
- /package/3.guide/{3.recipes → 4.recipes}/.navigation.yml +0 -0
- /package/3.guide/{4.going-further → 5.going-further}/.navigation.yml +0 -0
- /package/3.guide/{4.going-further → 5.going-further}/1.features.md +0 -0
- /package/3.guide/{4.going-further → 5.going-further}/11.nightly-release-channel.md +0 -0
- /package/3.guide/{4.going-further → 5.going-further}/4.kit.md +0 -0
- /package/3.guide/{4.going-further → 5.going-further}/9.debugging.md +0 -0
- /package/3.guide/{4.going-further → 5.going-further}/index.md +0 -0
|
@@ -7,7 +7,7 @@ Nuxt layers are a powerful feature that you can use to share and reuse partial N
|
|
|
7
7
|
|
|
8
8
|
:read-more{to="/docs/4.x/getting-started/layers"}
|
|
9
9
|
|
|
10
|
-
A minimal Nuxt layer directory should contain a [`nuxt.config.ts`](/docs/4.x/
|
|
10
|
+
A minimal Nuxt layer directory should contain a [`nuxt.config.ts`](/docs/4.x/directory-structure/nuxt-config) file to indicate it is a layer.
|
|
11
11
|
|
|
12
12
|
```ts [base/nuxt.config.ts]
|
|
13
13
|
export default defineNuxtConfig({})
|
|
@@ -15,16 +15,16 @@ export default defineNuxtConfig({})
|
|
|
15
15
|
|
|
16
16
|
Additionally, certain other files in the layer directory will be auto-scanned and used by Nuxt for the project extending this layer.
|
|
17
17
|
|
|
18
|
-
- [`app/components/*`](/docs/4.x/
|
|
19
|
-
- [`app/composables/*`](/docs/4.x/
|
|
20
|
-
- [`app/layouts/*`](/docs/4.x/
|
|
21
|
-
- [`app/middleware/*`](/docs/4.x/
|
|
22
|
-
- [`app/pages/*`](/docs/4.x/
|
|
23
|
-
- [`app/plugins/*`](/docs/4.x/
|
|
24
|
-
- [`app/utils/*`](/docs/4.x/
|
|
25
|
-
- [`app/app.config.ts`](/docs/4.x/
|
|
26
|
-
- [`server/*`](/docs/4.x/
|
|
27
|
-
- [`nuxt.config.ts`](/docs/4.x/
|
|
18
|
+
- [`app/components/*`](/docs/4.x/directory-structure/app/components) - Extend the default components
|
|
19
|
+
- [`app/composables/*`](/docs/4.x/directory-structure/app/composables) - Extend the default composables
|
|
20
|
+
- [`app/layouts/*`](/docs/4.x/directory-structure/app/layouts) - Extend the default layouts
|
|
21
|
+
- [`app/middleware/*`](/docs/4.x/directory-structure/app/middleware) - Extend the default middleware
|
|
22
|
+
- [`app/pages/*`](/docs/4.x/directory-structure/app/pages) - Extend the default pages
|
|
23
|
+
- [`app/plugins/*`](/docs/4.x/directory-structure/app/plugins) - Extend the default plugins
|
|
24
|
+
- [`app/utils/*`](/docs/4.x/directory-structure/app/utils) - Extend the default utils
|
|
25
|
+
- [`app/app.config.ts`](/docs/4.x/directory-structure/app/app-config) - Extend the default app config
|
|
26
|
+
- [`server/*`](/docs/4.x/directory-structure/server) - Extend the default server endpoints & middleware
|
|
27
|
+
- [`nuxt.config.ts`](/docs/4.x/directory-structure/nuxt-config)- Extend the default nuxt config
|
|
28
28
|
|
|
29
29
|
## Basic Example
|
|
30
30
|
|
|
@@ -14,7 +14,7 @@ This component is available in Nuxt v3.12+.
|
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
|
-
Add `<NuxtRouteAnnouncer/>` in your [`app.vue`](/docs/4.x/
|
|
17
|
+
Add `<NuxtRouteAnnouncer/>` in your [`app.vue`](/docs/4.x/directory-structure/app/app) or [`app/layouts/`](/docs/4.x/directory-structure/app/layouts) to enhance accessibility by informing assistive technologies about page title changes. This ensures that navigational changes are announced to users relying on screen readers.
|
|
18
18
|
|
|
19
19
|
```vue [app/app.vue]
|
|
20
20
|
<template>
|
|
@@ -8,7 +8,7 @@ links:
|
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
`<NuxtPage>` is a built-in component that comes with Nuxt. It lets you display top-level or nested pages located in the [`app/pages/`](/docs/4.x/
|
|
11
|
+
`<NuxtPage>` is a built-in component that comes with Nuxt. It lets you display top-level or nested pages located in the [`app/pages/`](/docs/4.x/directory-structure/app/pages) directory.
|
|
12
12
|
|
|
13
13
|
::note
|
|
14
14
|
`<NuxtPage>` is a wrapper around [`<RouterView>`](https://router.vuejs.org/api/interfaces/routerviewprops) from Vue Router. It should be used instead of `<RouterView>` because the former takes additional care of internal states. Otherwise, `useRoute()` may return incorrect paths.
|
|
@@ -151,4 +151,4 @@ console.log(attrs.foobar) // Outputs: 123
|
|
|
151
151
|
</script>
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
:read-more{to="/docs/4.x/
|
|
154
|
+
:read-more{to="/docs/4.x/directory-structure/app/pages"}
|
|
@@ -18,11 +18,11 @@ You can use `<NuxtLayout />` component to activate the `default` layout on `app.
|
|
|
18
18
|
</template>
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
:read-more{to="/docs/4.x/
|
|
21
|
+
:read-more{to="/docs/4.x/directory-structure/app/layouts"}
|
|
22
22
|
|
|
23
23
|
## Props
|
|
24
24
|
|
|
25
|
-
- `name`: Specify a layout name to be rendered, can be a string, reactive reference or a computed property. It **must** match the name of the corresponding layout file in the [`app/layouts/`](/docs/4.x/
|
|
25
|
+
- `name`: Specify a layout name to be rendered, can be a string, reactive reference or a computed property. It **must** match the name of the corresponding layout file in the [`app/layouts/`](/docs/4.x/directory-structure/app/layouts) directory.
|
|
26
26
|
- **type**: `string`
|
|
27
27
|
- **default**: `default`
|
|
28
28
|
|
|
@@ -51,11 +51,11 @@ Please note the layout name is normalized to kebab-case, so if your layout file
|
|
|
51
51
|
</template>
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
::read-more{to="/docs/4.x/
|
|
54
|
+
::read-more{to="/docs/4.x/directory-structure/app/layouts"}
|
|
55
55
|
Read more about dynamic layouts.
|
|
56
56
|
::
|
|
57
57
|
|
|
58
|
-
- `fallback`: If an invalid layout is passed to the `name` prop, no layout will be rendered. Specify a `fallback` layout to be rendered in this scenario. It **must** match the name of the corresponding layout file in the [`app/layouts/`](/docs/4.x/
|
|
58
|
+
- `fallback`: If an invalid layout is passed to the `name` prop, no layout will be rendered. Specify a `fallback` layout to be rendered in this scenario. It **must** match the name of the corresponding layout file in the [`app/layouts/`](/docs/4.x/directory-structure/app/layouts) directory.
|
|
59
59
|
- **type**: `string`
|
|
60
60
|
- **default**: `null`
|
|
61
61
|
|
|
@@ -158,4 +158,4 @@ defineExpose({
|
|
|
158
158
|
|
|
159
159
|
::
|
|
160
160
|
|
|
161
|
-
:read-more{to="/docs/4.x/
|
|
161
|
+
:read-more{to="/docs/4.x/directory-structure/app/layouts"}
|
|
@@ -10,7 +10,7 @@ links:
|
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
|
-
Add `<NuxtLoadingIndicator/>` in your [`app.vue`](/docs/4.x/
|
|
13
|
+
Add `<NuxtLoadingIndicator/>` in your [`app.vue`](/docs/4.x/directory-structure/app/app) or [`app/layouts/`](/docs/4.x/directory-structure/app/layouts).
|
|
14
14
|
|
|
15
15
|
```vue [app/app.vue]
|
|
16
16
|
<template>
|
|
@@ -4,7 +4,7 @@ description: The <NuxtWelcome> component greets users in new projects made from
|
|
|
4
4
|
links:
|
|
5
5
|
- label: Source
|
|
6
6
|
icon: i-simple-icons-github
|
|
7
|
-
to: https://github.com/nuxt/
|
|
7
|
+
to: https://github.com/nuxt/nuxt/blob/main/packages/ui-templates/templates/welcome/index.html
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -21,5 +21,5 @@ Preview the `<NuxtWelcome />` component.
|
|
|
21
21
|
::
|
|
22
22
|
|
|
23
23
|
::tip
|
|
24
|
-
This component is part of [nuxt/
|
|
24
|
+
This component is part of [`@nuxt/ui-templates`](https://github.com/nuxt/nuxt/tree/main/packages/ui-templates) package.
|
|
25
25
|
::
|
|
@@ -30,7 +30,7 @@ By default, the shared runtime context of Nuxt is namespaced under the [`buildId
|
|
|
30
30
|
|
|
31
31
|
### `provide (name, value)`
|
|
32
32
|
|
|
33
|
-
`nuxtApp` is a runtime context that you can extend using [Nuxt plugins](/docs/4.x/
|
|
33
|
+
`nuxtApp` is a runtime context that you can extend using [Nuxt plugins](/docs/4.x/directory-structure/app/plugins). Use the `provide` function to create Nuxt plugins to make values and helper methods available in your Nuxt application across all composables and components.
|
|
34
34
|
|
|
35
35
|
`provide` function accepts `name` and `value` parameters.
|
|
36
36
|
|
|
@@ -46,7 +46,7 @@ As you can see in the example above, `$hello` has become the new and custom part
|
|
|
46
46
|
|
|
47
47
|
### `hook(name, cb)`
|
|
48
48
|
|
|
49
|
-
Hooks available in `nuxtApp` allows you to customize the runtime aspects of your Nuxt application. You can use runtime hooks in Vue.js composables and [Nuxt plugins](/docs/4.x/
|
|
49
|
+
Hooks available in `nuxtApp` allows you to customize the runtime aspects of your Nuxt application. You can use runtime hooks in Vue.js composables and [Nuxt plugins](/docs/4.x/directory-structure/app/plugins) to hook into the rendering lifecycle.
|
|
50
50
|
|
|
51
51
|
`hook` function is useful for adding custom logic by hooking into the rendering lifecycle at a specific point. `hook` function is mostly used when creating Nuxt plugins.
|
|
52
52
|
|
|
@@ -84,8 +84,8 @@ await nuxtApp.callHook('my-plugin:init')
|
|
|
84
84
|
|
|
85
85
|
Some useful methods:
|
|
86
86
|
- [`component()`](https://vuejs.org/api/application#app-component) - Registers a global component if passing both a name string and a component definition, or retrieves an already registered one if only the name is passed.
|
|
87
|
-
- [`directive()`](https://vuejs.org/api/application#app-directive) - Registers a global custom directive if passing both a name string and a directive definition, or retrieves an already registered one if only the name is passed[(example)](/docs/4.x/
|
|
88
|
-
- [`use()`](https://vuejs.org/api/application#app-use) - Installs a **[Vue.js Plugin](https://vuejs.org/guide/reusability/plugins)** [(example)](/docs/4.x/
|
|
87
|
+
- [`directive()`](https://vuejs.org/api/application#app-directive) - Registers a global custom directive if passing both a name string and a directive definition, or retrieves an already registered one if only the name is passed[(example)](/docs/4.x/directory-structure/app/plugins#vue-directives).
|
|
88
|
+
- [`use()`](https://vuejs.org/api/application#app-use) - Installs a **[Vue.js Plugin](https://vuejs.org/guide/reusability/plugins)** [(example)](/docs/4.x/directory-structure/app/plugins#vue-plugins).
|
|
89
89
|
|
|
90
90
|
:read-more{icon="i-simple-icons-vuedotjs" to="https://vuejs.org/api/application.html#application-api"}
|
|
91
91
|
|
|
@@ -37,7 +37,7 @@ header.value = 'my-value'
|
|
|
37
37
|
</template>
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
We can use `useResponseHeader` for example in Nuxt [middleware](/docs/4.x/
|
|
40
|
+
We can use `useResponseHeader` for example in Nuxt [middleware](/docs/4.x/directory-structure/app/middleware) to set a response header for all pages.
|
|
41
41
|
|
|
42
42
|
```ts [app/middleware/my-header-middleware.ts]
|
|
43
43
|
export default defineNuxtRouteMiddleware((to, from) => {
|
|
@@ -76,7 +76,7 @@ The `useRoute()` composable should only be used in the setup function of a Vue c
|
|
|
76
76
|
This applies to any composable that uses `useRoute()` internally too.
|
|
77
77
|
::
|
|
78
78
|
|
|
79
|
-
::read-more{to="/docs/4.x/
|
|
79
|
+
::read-more{to="/docs/4.x/directory-structure/app/middleware"}
|
|
80
80
|
Read more about accessing the route in the middleware section.
|
|
81
81
|
::
|
|
82
82
|
|
|
@@ -49,7 +49,7 @@ router.resolve({ name: 'home' })
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
::note
|
|
52
|
-
`router.addRoute()` adds route details into an array of routes and it is useful while building [Nuxt plugins](/docs/4.x/
|
|
52
|
+
`router.addRoute()` adds route details into an array of routes and it is useful while building [Nuxt plugins](/docs/4.x/directory-structure/app/plugins) while `router.push()` on the other hand, triggers a new navigation immediately and it is useful in pages, Vue components and composable.
|
|
53
53
|
::
|
|
54
54
|
|
|
55
55
|
## Based on History API
|
|
@@ -80,7 +80,7 @@ Read more about the browser's History API.
|
|
|
80
80
|
|
|
81
81
|
However, Nuxt has a concept of **route middleware** that simplifies the implementation of navigation guards and provides a better developer experience.
|
|
82
82
|
|
|
83
|
-
:read-more{to="/docs/4.x/
|
|
83
|
+
:read-more{to="/docs/4.x/directory-structure/app/middleware"}
|
|
84
84
|
|
|
85
85
|
## Promise and Error Handling
|
|
86
86
|
|
|
@@ -95,7 +95,7 @@ Any environment variables set within `.env` file are accessed using `process.env
|
|
|
95
95
|
In **production runtime**, you should use platform environment variables and `.env` is not used.
|
|
96
96
|
::
|
|
97
97
|
|
|
98
|
-
:read-more{to="/docs/4.x/
|
|
98
|
+
:read-more{to="/docs/4.x/directory-structure/env"}
|
|
99
99
|
|
|
100
100
|
## `app` namespace
|
|
101
101
|
|
package/4.api/3.utils/$fetch.md
CHANGED
|
@@ -11,7 +11,7 @@ links:
|
|
|
11
11
|
Nuxt uses [ofetch](https://github.com/unjs/ofetch) to expose globally the `$fetch` helper for making HTTP requests within your Vue app or API routes.
|
|
12
12
|
|
|
13
13
|
::tip{icon="i-lucide-rocket"}
|
|
14
|
-
During server-side rendering, calling `$fetch` to fetch your internal [API routes](/docs/4.x/
|
|
14
|
+
During server-side rendering, calling `$fetch` to fetch your internal [API routes](/docs/4.x/directory-structure/server) will directly call the relevant function (emulating the request), **saving an additional API call**.
|
|
15
15
|
::
|
|
16
16
|
|
|
17
17
|
::note{color="blue" icon="i-lucide-info"}
|
|
@@ -9,7 +9,7 @@ links:
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
::warning
|
|
12
|
-
`abortNavigation` is only usable inside a [route middleware handler](/docs/4.x/
|
|
12
|
+
`abortNavigation` is only usable inside a [route middleware handler](/docs/4.x/directory-structure/app/middleware).
|
|
13
13
|
::
|
|
14
14
|
|
|
15
15
|
## Type
|
|
@@ -9,7 +9,7 @@ links:
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
::note
|
|
12
|
-
Route middleware are navigation guards stored in the [`app/middleware/`](/docs/4.x/
|
|
12
|
+
Route middleware are navigation guards stored in the [`app/middleware/`](/docs/4.x/directory-structure/app/middleware) directory of your Nuxt application (unless [set otherwise](/docs/4.x/api/nuxt-config#middleware)).
|
|
13
13
|
::
|
|
14
14
|
|
|
15
15
|
## Type
|
|
@@ -16,7 +16,7 @@ export default defineNuxtPlugin((nuxtApp) => {
|
|
|
16
16
|
})
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
:read-more{to="/docs/4.x/
|
|
19
|
+
:read-more{to="/docs/4.x/directory-structure/app/plugins#creating-plugins"}
|
|
20
20
|
|
|
21
21
|
## Type
|
|
22
22
|
|
|
@@ -42,7 +42,7 @@ interface ObjectPlugin<T> {
|
|
|
42
42
|
## Parameters
|
|
43
43
|
|
|
44
44
|
**plugin**: A plugin can be defined in two ways:
|
|
45
|
-
1. **Function Plugin**: A function that receives the [`NuxtApp`](/docs/4.x/guide/going-further/internals#the-nuxtapp-interface) instance and can return a promise with a potential object with a [`provide`](/docs/4.x/
|
|
45
|
+
1. **Function Plugin**: A function that receives the [`NuxtApp`](/docs/4.x/guide/going-further/internals#the-nuxtapp-interface) instance and can return a promise with a potential object with a [`provide`](/docs/4.x/directory-structure/app/plugins#providing-helpers) property if you want to provide a helper on [`NuxtApp`](/docs/4.x/guide/going-further/internals#the-nuxtapp-interface) instance.
|
|
46
46
|
2. **Object Plugin**: An object that can include various properties to configure the plugin's behavior, such as `name`, `enforce`, `dependsOn`, `order`, `parallel`, `setup`, `hooks`, and `env`.
|
|
47
47
|
|
|
48
48
|
| Property | Type | Required | Description |
|
|
@@ -8,7 +8,7 @@ links:
|
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
Route middleware are stored in the [`app/middleware/`](/docs/4.x/
|
|
11
|
+
Route middleware are stored in the [`app/middleware/`](/docs/4.x/directory-structure/app/middleware) of your Nuxt application (unless [set otherwise](/docs/4.x/api/nuxt-config#middleware)).
|
|
12
12
|
|
|
13
13
|
## Type
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@ links:
|
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
`definePageMeta` is a compiler macro that you can use to set metadata for your **page** components located in the [`app/pages/`](/docs/4.x/
|
|
11
|
+
`definePageMeta` is a compiler macro that you can use to set metadata for your **page** components located in the [`app/pages/`](/docs/4.x/directory-structure/app/pages) directory (unless [set otherwise](/docs/4.x/api/nuxt-config#pages)). This way you can set custom metadata for each static or dynamic route of your Nuxt application.
|
|
12
12
|
|
|
13
13
|
```vue [app/pages/some-page.vue]
|
|
14
14
|
<script setup lang="ts">
|
|
@@ -18,7 +18,7 @@ definePageMeta({
|
|
|
18
18
|
</script>
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
:read-more{to="/docs/4.x/
|
|
21
|
+
:read-more{to="/docs/4.x/directory-structure/app/pages#page-metadata"}
|
|
22
22
|
|
|
23
23
|
## Type
|
|
24
24
|
|
|
@@ -56,7 +56,7 @@ interface PageMeta {
|
|
|
56
56
|
|
|
57
57
|
- **Type**: `string`
|
|
58
58
|
|
|
59
|
-
You may define a name for this page's route. By default, name is generated based on path inside the [`app/pages/` directory](/docs/4.x/
|
|
59
|
+
You may define a name for this page's route. By default, name is generated based on path inside the [`app/pages/` directory](/docs/4.x/directory-structure/app/pages).
|
|
60
60
|
|
|
61
61
|
**`path`**
|
|
62
62
|
|
|
@@ -104,7 +104,7 @@ interface PageMeta {
|
|
|
104
104
|
|
|
105
105
|
- **Type**: `MiddlewareKey` | [`NavigationGuard`](https://router.vuejs.org/api/interfaces/navigationguard) | `Array<MiddlewareKey | NavigationGuard>`
|
|
106
106
|
|
|
107
|
-
Define anonymous or named middleware directly within `definePageMeta`. Learn more about [route middleware](/docs/4.x/
|
|
107
|
+
Define anonymous or named middleware directly within `definePageMeta`. Learn more about [route middleware](/docs/4.x/directory-structure/app/middleware).
|
|
108
108
|
|
|
109
109
|
**`pageTransition`**
|
|
110
110
|
|
|
@@ -142,7 +142,7 @@ interface PageMeta {
|
|
|
142
142
|
|
|
143
143
|
- **Type**: `any`
|
|
144
144
|
|
|
145
|
-
Apart from the above properties, you can also set **custom** metadata. You may wish to do so in a type-safe way by [augmenting the type of the `meta` object](/docs/4.x/
|
|
145
|
+
Apart from the above properties, you can also set **custom** metadata. You may wish to do so in a type-safe way by [augmenting the type of the `meta` object](/docs/4.x/directory-structure/app/pages/#typing-custom-metadata).
|
|
146
146
|
|
|
147
147
|
## Examples
|
|
148
148
|
|
|
@@ -219,7 +219,7 @@ For more examples see [Vue Router's Matching Syntax](https://router.vuejs.org/gu
|
|
|
219
219
|
|
|
220
220
|
### Defining Layout
|
|
221
221
|
|
|
222
|
-
You can define the layout that matches the layout's file name located (by default) in the [`app/layouts/` directory](/docs/4.x/
|
|
222
|
+
You can define the layout that matches the layout's file name located (by default) in the [`app/layouts/` directory](/docs/4.x/directory-structure/app/layouts). You can also disable the layout by setting the `layout` to `false`:
|
|
223
223
|
|
|
224
224
|
```vue [app/pages/some-page.vue]
|
|
225
225
|
<script setup lang="ts">
|
|
@@ -68,7 +68,7 @@ export default defineNuxtRouteMiddleware((to, from) => {
|
|
|
68
68
|
|
|
69
69
|
In this case, `navigateTo` will be executed but not returned, which may lead to unexpected behavior.
|
|
70
70
|
|
|
71
|
-
:read-more{to="/docs/4.x/
|
|
71
|
+
:read-more{to="/docs/4.x/directory-structure/app/middleware"}
|
|
72
72
|
|
|
73
73
|
### Navigating to an External URL
|
|
74
74
|
|
|
@@ -9,7 +9,7 @@ links:
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
::note
|
|
12
|
-
Updates the [`app.config`](/docs/4.x/
|
|
12
|
+
Updates the [`app.config`](/docs/4.x/directory-structure/app/app-config) using deep assignment. Existing (nested) properties will be preserved.
|
|
13
13
|
::
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
@@ -25,4 +25,4 @@ updateAppConfig(newAppConfig)
|
|
|
25
25
|
console.log(appConfig) // { foo: 'baz' }
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
:read-more{to="/docs/4.x/
|
|
28
|
+
:read-more{to="/docs/4.x/directory-structure/app/app-config"}
|
|
@@ -4,7 +4,7 @@ description: "Search and add modules to your Nuxt application with the command l
|
|
|
4
4
|
links:
|
|
5
5
|
- label: Source
|
|
6
6
|
icon: i-simple-icons-github
|
|
7
|
-
to: https://github.com/nuxt/cli/
|
|
7
|
+
to: https://github.com/nuxt/cli/tree/main/packages/nuxi/src/commands/module
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -39,8 +39,8 @@ The command lets you install [Nuxt modules](/modules) in your application with n
|
|
|
39
39
|
When running the command, it will:
|
|
40
40
|
|
|
41
41
|
- install the module as a dependency using your package manager
|
|
42
|
-
- add it to your [package.json](/docs/4.x/
|
|
43
|
-
- update your [`nuxt.config`](/docs/4.x/
|
|
42
|
+
- add it to your [package.json](/docs/4.x/directory-structure/package) file
|
|
43
|
+
- update your [`nuxt.config`](/docs/4.x/directory-structure/nuxt-config) file
|
|
44
44
|
|
|
45
45
|
**Example:**
|
|
46
46
|
|
|
@@ -14,7 +14,7 @@ npx nuxt prepare [ROOTDIR] [--dotenv] [--cwd=<directory>] [--logLevel=<silent|in
|
|
|
14
14
|
```
|
|
15
15
|
<!--/prepare-cmd-->
|
|
16
16
|
|
|
17
|
-
The `prepare` command creates a [`.nuxt`](/docs/4.x/
|
|
17
|
+
The `prepare` command creates a [`.nuxt`](/docs/4.x/directory-structure/nuxt) directory in your application and generates types. This can be useful in a CI environment or as a `postinstall` command in your [`package.json`](/docs/4.x/directory-structure/package).
|
|
18
18
|
|
|
19
19
|
## Arguments
|
|
20
20
|
|
|
@@ -40,5 +40,5 @@ Option | Default | Description
|
|
|
40
40
|
This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a `.env` file or as command-line argument.
|
|
41
41
|
|
|
42
42
|
::note
|
|
43
|
-
For convenience, in preview mode, your [`.env`](/docs/4.x/
|
|
43
|
+
For convenience, in preview mode, your [`.env`](/docs/4.x/directory-structure/env) file will be loaded into `process.env`. (However, in production you will need to ensure your environment variables are set yourself. For example, with Node.js 20+ you could do this by running `node --env-file .env .output/server/index.mjs` to start your server.)
|
|
44
44
|
::
|
|
@@ -36,7 +36,7 @@ Option | Default | Description
|
|
|
36
36
|
<!--/typecheck-opts-->
|
|
37
37
|
|
|
38
38
|
::note
|
|
39
|
-
This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a [`.env`](/docs/4.x/
|
|
39
|
+
This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a [`.env`](/docs/4.x/directory-structure/env) file or as a command-line argument.
|
|
40
40
|
::
|
|
41
41
|
|
|
42
42
|
::read-more{to="/docs/4.x/guide/concepts/typescript#type-checking"}
|
package/4.api/5.kit/1.modules.md
CHANGED
|
@@ -4,7 +4,7 @@ description: Nuxt Kit provides a set of utilities to help you create and use mod
|
|
|
4
4
|
links:
|
|
5
5
|
- label: Source
|
|
6
6
|
icon: i-simple-icons-github
|
|
7
|
-
to: https://github.com/nuxt/nuxt/
|
|
7
|
+
to: https://github.com/nuxt/nuxt/tree/main/packages/kit/src/module
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ description: Nuxt Kit provides a set of utilities to help you work with Nuxt pro
|
|
|
4
4
|
links:
|
|
5
5
|
- label: Source
|
|
6
6
|
icon: i-simple-icons-github
|
|
7
|
-
to: https://github.com/nuxt/nuxt/
|
|
7
|
+
to: https://github.com/nuxt/nuxt/tree/main/packages/kit/src/loader
|
|
8
8
|
size: xs
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -31,7 +31,7 @@ function loadNuxt (loadOptions?: LoadNuxtOptions): Promise<Nuxt>
|
|
|
31
31
|
|
|
32
32
|
## `buildNuxt`
|
|
33
33
|
|
|
34
|
-
Build Nuxt programmatically. It will invoke the builder (currently [@nuxt/vite-builder](https://github.com/nuxt/nuxt/
|
|
34
|
+
Build Nuxt programmatically. It will invoke the builder (currently [@nuxt/vite-builder](https://github.com/nuxt/nuxt/tree/main/packages/vite) or [@nuxt/webpack-builder](https://github.com/nuxt/nuxt/tree/main/packages/webpack)) to bundle the application.
|
|
35
35
|
|
|
36
36
|
### Type
|
|
37
37
|
|
|
@@ -46,7 +46,7 @@ Hook | Arguments | Description
|
|
|
46
46
|
`modules:done` | - | Called during Nuxt initialization, after installing user modules.
|
|
47
47
|
`app:resolve` | `app` | Called after resolving the `app` instance.
|
|
48
48
|
`app:templates` | `app` | Called during `NuxtApp` generation, to allow customizing, modifying or adding new files to the build directory (either virtually or to written to `.nuxt`).
|
|
49
|
-
`app:templatesGenerated` | `app` | Called after templates are compiled into the [virtual file system](/docs/4.x/
|
|
49
|
+
`app:templatesGenerated` | `app` | Called after templates are compiled into the [virtual file system](/docs/4.x/directory-structure/nuxt) (vfs).
|
|
50
50
|
`build:before` | - | Called before Nuxt bundle builder.
|
|
51
51
|
`build:done` | - | Called after Nuxt bundle builder is complete.
|
|
52
52
|
`build:manifest` | `manifest` | Called during the manifest build by Vite and webpack. This allows customizing the manifest that Nitro will use to render `<script>` and `<link>` tags in the final HTML.
|
package/4.api/6.nuxt-config.md
CHANGED
|
@@ -505,7 +505,7 @@ Any components in the directories configured here can be used throughout your pa
|
|
|
505
505
|
}
|
|
506
506
|
```
|
|
507
507
|
|
|
508
|
-
**See**: [`app/components/` directory documentation](https://nuxt.com/docs/4.x/
|
|
508
|
+
**See**: [`app/components/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/app/components)
|
|
509
509
|
|
|
510
510
|
## css
|
|
511
511
|
|
|
@@ -835,7 +835,7 @@ Any file in `app/pages/`, `app/layouts/`, `app/middleware/`, and `public/` direc
|
|
|
835
835
|
|
|
836
836
|
Configure how Nuxt auto-imports composables into your application.
|
|
837
837
|
|
|
838
|
-
**See**: [Nuxt documentation](https://nuxt.com/docs/4.x/
|
|
838
|
+
**See**: [Nuxt documentation](https://nuxt.com/docs/4.x/directory-structure/app/composables)
|
|
839
839
|
|
|
840
840
|
### `dirs`
|
|
841
841
|
|
|
@@ -1146,7 +1146,7 @@ and these plugins do not need to be listed in `nuxt.config` unless you
|
|
|
1146
1146
|
need to customize their order. All plugins are deduplicated by their src path.
|
|
1147
1147
|
::
|
|
1148
1148
|
|
|
1149
|
-
**See**: [`app/plugins/` directory documentation](https://nuxt.com/docs/4.x/
|
|
1149
|
+
**See**: [`app/plugins/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/app/plugins)
|
|
1150
1150
|
|
|
1151
1151
|
**Example**:
|
|
1152
1152
|
```ts
|
|
@@ -1307,7 +1307,7 @@ Each handler accepts the following options:
|
|
|
1307
1307
|
|
|
1308
1308
|
- **Type**: `array`
|
|
1309
1309
|
|
|
1310
|
-
**See**: [`server/` directory documentation](https://nuxt.com/docs/4.x/
|
|
1310
|
+
**See**: [`server/` directory documentation](https://nuxt.com/docs/4.x/directory-structure/server)
|
|
1311
1311
|
|
|
1312
1312
|
::callout
|
|
1313
1313
|
**Note**: Files from `server/api`, `server/middleware` and `server/routes` will be automatically registered by Nuxt.
|
package/5.community/6.roadmap.md
CHANGED
|
@@ -38,12 +38,12 @@ Translations | - | [nuxt/nuxt.com#1711](https://github.com/nuxt/nuxt
|
|
|
38
38
|
|
|
39
39
|
In addition to the Nuxt framework, there are modules that are vital for the ecosystem. Their status will be updated below.
|
|
40
40
|
|
|
41
|
-
Module
|
|
42
|
-
|
|
43
|
-
[Scripts](https://scripts.nuxt.com)
|
|
44
|
-
Auth Utils
|
|
45
|
-
A11y
|
|
46
|
-
Hints
|
|
41
|
+
Module | Status | Nuxt Support | Repository | Description
|
|
42
|
+
---------------------------------------|---------------------|--------------|------------|-------------------
|
|
43
|
+
[Scripts](https://scripts.nuxt.com) | Public Beta | 3.x, 4.x | [nuxt/scripts](https://github.com/nuxt/scripts) | Easy 3rd party script management.
|
|
44
|
+
Auth Utils | Planned | 4.x, 5.x | `nuxt/auth-utils` to be announced | The temporary repository [atinux/nuxt-auth-utils](https://github.com/atinux/nuxt-auth-utils) is available while awaiting its official integration into Nuxt via RFC.
|
|
45
|
+
A11y | Planned | 4.x, 5.x | `nuxt/a11y` to be announced | Accessibility hinting and utilities [nuxt/nuxt#23255](https://github.com/nuxt/nuxt/issues/23255)
|
|
46
|
+
[Hints](https://github.com/nuxt/hints) | Public Alpha | 4.x, 5.x | [nuxt/hints](https://github.com/nuxt/hints) | Guidance and suggestions for enhancing development practices.
|
|
47
47
|
|
|
48
48
|
## Release Cycle
|
|
49
49
|
|
|
@@ -68,10 +68,10 @@ Each active version has its own nightly releases which are generated automatical
|
|
|
68
68
|
Release | | Initial release | End Of Life | Docs
|
|
69
69
|
-------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ---------------------------- | ---------------------------------------
|
|
70
70
|
**5.x** (scheduled) | | Q4 2025 (estimated) | TBA |
|
|
71
|
-
**4.x** (stable) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt latest version" src="https://
|
|
72
|
-
**3.x** (maintenance) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 3.x version" src="https://
|
|
73
|
-
**2.x** (unsupported) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 2.x version" src="https://
|
|
74
|
-
**1.x** (unsupported) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 1.x version" src="https://
|
|
71
|
+
**4.x** (stable) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt latest version" src="https://img.shields.io/npm/v/nuxt.svg?logo=nuxt&label=&style=flat&colorA=18181B&colorB=28CF8D" class="not-prose h-5 w-auto" :zoom="false"></a> | 2025-07-16 | 6 months after 5.x release | [nuxt.com](/docs/4.x/getting-started/introduction)
|
|
72
|
+
**3.x** (maintenance) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 3.x version" src="https://img.shields.io/npm/v/nuxt/3x.svg?logo=nuxt&label=&style=flat&colorA=18181B&colorB=28CF8D" class="not-prose h-5 w-auto" :zoom="false"></a> | 2022-11-16 | 2026-01-31 | [nuxt.com](/docs/3.x/getting-started/introduction)
|
|
73
|
+
**2.x** (unsupported) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 2.x version" src="https://img.shields.io/npm/v/nuxt/2x.svg?logo=nuxt&label=&style=flat&colorA=18181B&colorB=28CF8D" class="not-prose h-5 w-auto" :zoom="false"></a> | 2018-09-21 | 2024-06-30 | [v2.nuxt.com](https://v2.nuxt.com/docs/get-started/installation/)
|
|
74
|
+
**1.x** (unsupported) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 1.x version" src="https://img.shields.io/npm/v/nuxt/1x.svg?logo=nuxt&label=&style=flat&colorA=18181B&colorB=28CF8D" class="not-prose h-5 w-auto" :zoom="false"></a> | 2018-01-08 | 2019-09-21 |
|
|
75
75
|
|
|
76
76
|
### Support Status
|
|
77
77
|
|
|
@@ -58,6 +58,16 @@ navigation.icon: i-lucide-bell-dot
|
|
|
58
58
|
::card
|
|
59
59
|
---
|
|
60
60
|
icon: i-simple-icons-github
|
|
61
|
+
title: nuxt/hints
|
|
62
|
+
to: https://github.com/nuxt/hints/releases
|
|
63
|
+
target: _blank
|
|
64
|
+
ui.icon.base: text-black dark:text-white
|
|
65
|
+
---
|
|
66
|
+
Nuxt Hints releases.
|
|
67
|
+
::
|
|
68
|
+
::card
|
|
69
|
+
---
|
|
70
|
+
icon: i-simple-icons-github
|
|
61
71
|
title: nuxt/image
|
|
62
72
|
to: https://github.com/nuxt/image/releases
|
|
63
73
|
target: _blank
|
package/6.bridge/1.overview.md
CHANGED
|
@@ -80,7 +80,7 @@ bun add -D @nuxt/bridge nuxi
|
|
|
80
80
|
|
|
81
81
|
Please make sure to avoid any CommonJS syntax such as `module.exports`, `require` or `require.resolve` in your config file. It will soon be deprecated and unsupported.
|
|
82
82
|
|
|
83
|
-
You can use static `import`, dynamic `import()` and `export default` instead. Using TypeScript by renaming to [`nuxt.config.ts`](/docs/4.x/
|
|
83
|
+
You can use static `import`, dynamic `import()` and `export default` instead. Using TypeScript by renaming to [`nuxt.config.ts`](/docs/4.x/directory-structure/nuxt-config) is also possible and recommended.
|
|
84
84
|
|
|
85
85
|
```ts [nuxt.config.ts]
|
|
86
86
|
import { defineNuxtConfig } from '@nuxt/bridge'
|
package/6.bridge/2.typescript.md
CHANGED
|
@@ -37,7 +37,7 @@ If you are using TypeScript, you can edit your `tsconfig.json` to benefit from a
|
|
|
37
37
|
::note
|
|
38
38
|
As `.nuxt/tsconfig.json` is generated and not checked into version control, you'll need to generate that file before running your tests. Add `nuxi prepare` as a step before your tests, otherwise you'll see `TS5083: Cannot read file '~/.nuxt/tsconfig.json'`
|
|
39
39
|
|
|
40
|
-
For modern Nuxt projects, we recommend using [TypeScript project references](/docs/4.x/
|
|
40
|
+
For modern Nuxt projects, we recommend using [TypeScript project references](/docs/4.x/directory-structure/tsconfig) instead of directly extending `.nuxt/tsconfig.json`.
|
|
41
41
|
::
|
|
42
42
|
|
|
43
43
|
::note
|
|
@@ -113,7 +113,7 @@ export default <Plugin> function (ctx, inject) {}
|
|
|
113
113
|
While this example is valid, Nuxt 3 introduces a new defineNuxtPlugin function that has a slightly different signature.
|
|
114
114
|
::
|
|
115
115
|
|
|
116
|
-
:ReadMore{link="/docs/4.x/
|
|
116
|
+
:ReadMore{link="/docs/4.x/directory-structure/app/plugins#creating-plugins"}
|
|
117
117
|
|
|
118
118
|
### `useRouter` and `useRoute`
|
|
119
119
|
|
|
@@ -7,7 +7,7 @@ description: 'Learn how to migrate from Nuxt 2 to Nuxt Bridge new plugins and mi
|
|
|
7
7
|
|
|
8
8
|
You can now migrate to the Nuxt 3 plugins API, which is slightly different in format from Nuxt 2.
|
|
9
9
|
|
|
10
|
-
Plugins now take only one argument (`nuxtApp`). You can find out more in [the docs](/docs/4.x/
|
|
10
|
+
Plugins now take only one argument (`nuxtApp`). You can find out more in [the docs](/docs/4.x/directory-structure/app/plugins).
|
|
11
11
|
|
|
12
12
|
```ts [app/plugins/hello.ts]
|
|
13
13
|
export default defineNuxtPlugin((nuxtApp) => {
|
|
@@ -28,7 +28,7 @@ Although a compatibility interface is provided via `nuxtApp.vueApp` you should a
|
|
|
28
28
|
|
|
29
29
|
You can now migrate to the Nuxt 3 middleware API, which is slightly different in format from Nuxt 2.
|
|
30
30
|
|
|
31
|
-
Middleware now take only two argument (`to`, `from`). You can find out more in [the docs](/docs/4.x/
|
|
31
|
+
Middleware now take only two argument (`to`, `from`). You can find out more in [the docs](/docs/4.x/directory-structure/app/middleware).
|
|
32
32
|
|
|
33
33
|
```ts twoslash
|
|
34
34
|
export default defineNuxtRouteMiddleware((to) => {
|
package/7.migration/11.server.md
CHANGED
|
@@ -13,5 +13,5 @@ In a built Nuxt 3 application, there is no runtime Nuxt dependency. That means y
|
|
|
13
13
|
2. Any files in `~/server/api` and `~/server/middleware` will be automatically registered; you can remove them from your `serverMiddleware` array.
|
|
14
14
|
3. Update any other items in your `serverMiddleware` array to point to files or npm packages directly, rather than using inline functions.
|
|
15
15
|
|
|
16
|
-
:read-more{to="/docs/4.x/
|
|
16
|
+
:read-more{to="/docs/4.x/directory-structure/server"}
|
|
17
17
|
:read-more{to="/docs/4.x/guide/going-further/hooks#server-hooks-runtime"}
|