Creating module composable with module starter
Hello everyone. I'm trying to learn how to create a module. According to the documentation recipe, it can be (I only changed the name of the composable):
The docs do not provide a composable as an example, but I would assume it is the same as any nuxt composable. So this one should work:
runtime/composables/useCMS.ts
In the play ground, I changed app.vue
to the following:
But I get an error: 500 useCMS is not defined
I created a new nuxt project and the same useCMS
composable worked.
I believe this might be a problem with the playground
, even when removing the module from the playground config, and writing useCMS
in the composable
folder I get the same error.
Here is a stackblitz reproduction of the issue:
https://stackblitz.com/edit/github-budsam?file=src/module.ts
Is this a bug or am I doing something wrong?StackBlitz
Nuxt - Starter - StackBlitz
Create a new Nuxt project, module, layer or start from a theme with our collection of starters.
4 Replies
Looks like the workspace config dot files (
.nuxtrc
) comes with imports.autoImport=false
, which I'm assuming disables auto imports for Nuxt. To fix my problem I changed to true
, but I'm still not sure if this is expected behaviour.This is expected behaviour when
autoImports=false
Kind of weird default for a module starter. I'll take a look at the docs to see if I missed anything.
I don’t know why the module starter would disable autoImports by default. Best guess is to prevent authors from assuming a dependency will be available in non-autoimport environment.