Bagian Dalam Nuxt

Nuxt.js memiliki arsitektur modular sepenuhnya yang memungkinkan developer memperluas bagian Inti Nuxt (Core) menggunakan API yang fleksibel.

Silahkan lihat Panduan Modul untuk informasi lebih lanjut jika tertarik untuk mengembangkan modul Anda sendiri.

Bagian ini membantu membiasakan diri dengan bagian dalam Nuxt dan dapat digunakan sebagai referensi untuk memahaminya dengan lebih baik saat menulis modul Anda sendiri.

Core

Kelas-kelas ini adalah jantung dari Nuxt dan harus ada baik ketika runtime maupun build time.

Nuxt

Renderer

ModuleContainer

Build

Kelas-kelas ini hanya dibutuhkan ketika mode build atau dev.

Builder

Generator

Common

Utils

Options

Pengemasan & Penggunaan

Nuxt mengekspor semua kelas secara default. Cara untuk require:

const { Nuxt, Builder, Utils } = require('nuxt')

Bentuk Umum (Common patterns)

Semua kelas Nuxt merujuk pada instansi dan pilihan (options) nuxt. Setiap kelas meng-extends tappable, dengan cara ini kita selalu memiliki API yang konsisten di seluruh kelas untuk mengakses options dan nuxt.

const Tapable = require('tappable')

class SomeClass extends Tapable {
  constructor (nuxt, builder) {
    super()
    this.nuxt = nuxt
    this.options = nuxt.options
  }

  someFunction() {
    // Kita memiliki akses ke `this.nuxt` dan `this.options`
  }
}

Kelas-kelas tersebut plugable sehingga mereka harus mendaftarkan (register) plugin pada wadah (container) utama nuxt untuk mendaftarkan (register) pengait (hooks) lainnya.

class FooClass extends Tapable {
  constructor (nuxt, builder) {
    super()
    this.nuxt = nuxt
    this.options = nuxt.options

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

Jadi kita dapat mengaitkan (hook) modul foo seperti ini:

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

Jumpa kesalahan atau ingin berkontribusi pada dokumentasi ini? Sunting halaman ini di GitHub!