You are browsing Nuxt 2 docs. Go to Nuxt 3 docs, or learn more about Nuxt 2 Long Term Support.

Translated page Contents of this page might be outdated.

Introdução aos Módulos do Nuxt

Entenda melhor o interior do Nuxt


O Nuxt tem uma arquitetura completamente modular que permite os desenvolvedores estenderem qualquer parte do núcleo do Nuxt usando uma API flexível.

Consulte o Guia de Módulos para informações mais detalhadas caso estiver interessado em desenvolver o seu próprio módulo.

Esta secção ajuda a se familiarizar com o interior do Nuxt e pode ser usada como uma referência para entender ele melhor enquanto estiver escrevendo seus próprios módulos.

O Núcleo

Essas classes são o coração do Nuxt e devem existir em ambos tempo de execução e construção.

A classe Nuxt

A classe Renderer

A classe ModuleContainer

A Construção

Essas classes apenas são necessárias para o modo de construção ou desenvolvimento.

A classe Builder

Generator

O Geral

Utils

Options

O Empacotamento e Uso

O Nuxt exporta todas as classes por padrão. Para importar elas:

import { Nuxt, Builder, Utils } from 'nuxt'

Padrões Gerais

Todas classes do Nuxt possuem uma referência a instância nuxt e as opções, desta maneira nós sempre teremos uma API consistente através das classes para acessar o options e o nuxt.

class SomeClass {
  constructor(nuxt) {
    super()
    this.nuxt = nuxt
    this.options = nuxt.options
  }

  someFunction() {
    // Nós temos acesso ao `this.nuxt` e ao `this.options`
  }
}

As classes são conectáveis assim elas devem registar um plugin no contentor nuxt principal para registar mais gatilhos.

class FooClass {
  constructor(nuxt) {
    super()
    this.nuxt = nuxt
    this.options = nuxt.options

    this.nuxt.callHook('foo', this)
  }
}

Assim desta maneira nós podemos prender dentro do módulo foo:

nuxt.hook('foo', foo => {
  // ...
})