Que fait nuxthub ?
Utilisé pour construire des applications NuxtHub v0.10.6 — fournit des API de base de données (Drizzle ORM avec SQLite/PostgreSQL/MySQL), de stockage KV, de stockage blob et de cache. Couvre la configuration, la définition de schémas, les migrations, le déploiement multi-cloud (Cloudflare, Vercel) et les nouveaux imports de modules virtuels hub:db, hub:kv et hub:blob.
Utilisation
Pour utiliser cette compétence, assurez-vous d'avoir NuxtHub v0.10.6 installé dans votre projet Nuxt. Importez les modules virtuels comme suit :
import { hubDatabase } from 'hub:db';
import { hubKV } from 'hub:kv';
import { hubBlob } from 'hub:blob';
Configuration
créez un fichier nuxt.config.ts avec les options suivantes :
export default defineNuxtConfig({
modules: ['@nuxthub/core'],
hub: {
database: true,
kv: true,
blob: true,
cache: true,
},
});
Base de données
Définissez vos schémas avec Drizzle ORM :
// server/database/schema.ts
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
export const users = sqliteTable('users', {
id: integer('id').primaryKey({ autoIncrement: true }),
name: text('name').notNull(),
email: text('email').notNull().unique(),
});
Migrations
Exécutez les migrations avec :
npx nuxthub db:migrate
Déploiement multi-cloud
Déployez sur Cloudflare :
npx nuxthub deploy --provider cloudflare
Déployez sur Vercel :
npx nuxthub deploy --provider vercel
Stockage KV
Utilisez hubKV pour un stockage clé-valeur :
const kv = await hubKV();
await kv.set('key', 'value');
const value = await kv.get('key');
Stockage blob
Utilisez hubBlob pour le stockage de fichiers :
const blob = await hubBlob();
await blob.put('myfile.txt', 'contenu du fichier');
const content = await blob.get('myfile.txt');
API de cache
Le cache est activé globalement avec hub.cache: true. Utilisez-le pour mettre en cache des réponses ou des données fréquemment utilisées.