nuxt logo

Tradução da Documentação (Não Oficial)

modules

Use o diretório modules/ para registrar automaticamente módulos locais dentro de sua aplicação.

É um bom lugar para colocar quaisquer módulos locais que você desenvolva enquanto constrói sua aplicação.

Os padrões de arquivos registrados automaticamente são:

  • modules/*/index.ts
  • modules/*.ts

Você não precisa adicionar esses módulos locais ao seu nuxt.config.ts separadamente.

// `nuxt/kit` é uma importação de subcaminho auxiliar que você pode usar ao definir módulos locais
// isso significa que você não precisa adicionar `@nuxt/kit` às dependências do seu projeto
import { createResolver, defineNuxtModule, addServerHandler } from 'nuxt/kit'

export default defineNuxtModule({
  meta: {
    name: 'hello'
  },
  setup () {
    const resolver = createResolver(import.meta.url)

    // Adiciona uma rota de API
    addServerHandler({
      route: '/api/hello',
      handler: resolver.resolve('./runtime/api-route')
    })
  }
})

Ao iniciar o Nuxt, o módulo hello será registrado e a rota /api/hello estará disponível.

Os módulos são executados na seguinte sequência:

  • Primeiro, os módulos definidos em nuxt.config.ts são carregados.
  • Em seguida, os módulos encontrados no diretório modules/ são executados, e eles são carregados em ordem alfabética.

Você pode alterar a ordem do módulo local adicionando um número à frente de cada nome de diretório:

Estrutura de diretórios
modules/
  1.first-module/
    index.ts
  2.second-module.ts
Veja também guide > going-further > modules

Assista ao vídeo da Vue School sobre módulos privados do Nuxt.