Api

Konfigurasi Module

Referensi opsi config tina di nuxt.config.ts.

Semua opsi module diset di bawah key tina:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-tina'],
  tina: {
    clientId: process.env.NUXT_TINA_CLIENT_ID,
    token: process.env.NUXT_TINA_TOKEN,
    branch: 'main',
    visualEditing: true,
    media: {
      publicFolder: 'public',
      mediaRoot: 'uploads',
      provider: 'tina',
    },
    enabled: true,
    debug: false,
  },
})

Semua opsinya opsional. Module-nya balik ke default yang wajar, termasuk baca credentials dari environment. Lihat Instalasi & Konfigurasi buat daftar env var-nya.

Opsi

OpsiTipeDefaultDeskripsi
clientIdstringenv var NUXT_TINA_CLIENT_ID | TINA_CLIENT_IDClient ID Tina Cloud kamu.
tokenstringenv var NUXT_TINA_TOKEN | TINA_TOKENToken read-only Tina Cloud (cuma disimpan di server-side).
branchstringenv var NUXT_TINA_BRANCH | HEAD, kalau nggak ada 'main'Branch Git yang jadi target query content.
tinaPathstring'tina'Lokasi folder config Tina, relatif ke root project.
visualEditingbooleantrueNgaktifin plugin bridge postMessage iframe di sisi client.
media.publicFolderstring'public'Folder tempat public web asset berada.
media.mediaRootstring'uploads'Subfolder tempat gambar yang diupload disimpan.
media.provider'tina' | 'cloudinary''tina'Backend media store-nya. 'cloudinary' ngedaftarin route /api/cloudinary/**: lihat Media & Cloudinary.
enabledbooleantrueMatiin module-nya sepenuhnya kalau false.
debugbooleanfalseNge-log aktivitas bridge ke console browser: koneksi, pesan yang masuk, dan pesan yang di-drop karena gagal cek origin.

Peringatan saat startup

Saat development, module ini ngecek beberapa kesalahan konfigurasi yang umum terjadi dan nge-log warning kalau nemu salah satu:

  • media.provider di-set ke 'cloudinary', tapi environment variable Cloudinary yang dibutuhkan nggak ada.
  • tinaPath kelihatan seperti absolute path, padahal harusnya relative path.

Pengecekan ini nggak pernah jalan di production, jadi nggak akan bikin production log kamu berisik.


Copyright © 2026