mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-29 09:02:03 +00:00
docs: improved going further modules documentation (#19219)
Co-authored-by: Rafael Magalhaes <rafael.magalhaes@yapily.com>
This commit is contained in:
parent
7a4a416f3c
commit
99a47c1dd0
@ -294,6 +294,42 @@ export default defineNuxtModule({
|
||||
})
|
||||
```
|
||||
|
||||
### Adding Composables
|
||||
|
||||
If your module should provide composables, you can use the `addImports` utility to add them as auto-imports for Nuxt to resolve.
|
||||
|
||||
```ts
|
||||
import { defineNuxtModule, addImports, createResolver } from '@nuxt/kit'
|
||||
|
||||
export default defineNuxtModule({
|
||||
setup(options, nuxt) {
|
||||
const resolver = createResolver(import.meta.url)
|
||||
addImports({
|
||||
name: 'useComposable', // name of the composable to be used
|
||||
as: 'useComposable',
|
||||
from: resolver.resolve('runtime/composables/useComposable') // path of composable
|
||||
})
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
Alternatively, you can add an entire directory by using `addImportsDir`.
|
||||
|
||||
```ts
|
||||
import { defineNuxtModule, addImportsDir, createResolver } from '@nuxt/kit'
|
||||
|
||||
export default defineNuxtModule({
|
||||
setup(options, nuxt) {
|
||||
const resolver = createResolver(import.meta.url)
|
||||
addImportsDir(resolver.resolve('runtime/composables'))
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
::alert
|
||||
Note that auto-imports are not enabled for files within `node_modules` for performance reasons, so the module starter [deliberately disables them](https://github.com/nuxt/starter/blob/module/.nuxtrc#L1) while developing a module. If you are using the module starter, auto-imports will not be enabled in your playground either.
|
||||
::
|
||||
|
||||
### Clean Up Module
|
||||
|
||||
If your module opens, handles or starts a watcher, you should close it when the Nuxt lifecycle is done. For this, use the `close` hook:
|
||||
|
Loading…
Reference in New Issue
Block a user