Przepisy rozwoju Nuxt 3
Nuxt 3 daje ci routing oparty na plikach, auto-importy, trasy serwera i renderowanie hybrydowe od razu po instalacji. Te przepisy pomagają ci używać narzędzi AI do budowania na tym fundamencie bez walki z konwencjami frameworka. Każdy prompt tutaj generuje kod, który respektuje strukturę katalogów Nuxt, wykorzystuje auto-importy i poprawnie obsługuje granice SSR/CSR.
Co wyniesiesz z tego rozdziału
Dział zatytułowany „Co wyniesiesz z tego rozdziału”- Przepisy na trasy serwera obsługujące uwierzytelnianie, walidację i dostęp do bazy danych
- Wzorce composables do pobierania danych z
useFetchiuseAsyncData - Przepisy na middleware i pluginy do strażników auth i globalnego stanu
- Prompty wdrożeniowe dla Vercel, Cloudflare i Netlify edge
Przepis 1: Trasa API serwera z walidacją Zod
Dział zatytułowany „Przepis 1: Trasa API serwera z walidacją Zod”Scenariusz: Potrzebujesz endpointu POST do tworzenia postów na blogu z walidacją Zod, sprawdzaniem uwierzytelniania i poprawnymi odpowiedziami błędów.
Oczekiwane wyjście: Plik trasy serwera, schemat Zod i plik testowy z 4 przypadkami testowymi.
Przepis 2: Zestandaryzowany composable do pobierania danych
Dział zatytułowany „Przepis 2: Zestandaryzowany composable do pobierania danych”Scenariusz: Twoje strony wywołują useFetch bezpośrednio z powieloną obsługą błędów. Potrzebujesz composable, który to ustandaryzuje.
Oczekiwane wyjście: Plik composable z typowanymi wrapperami, typ ApiError i testy.
Przepis 3: Middleware auth z odświeżaniem JWT
Dział zatytułowany „Przepis 3: Middleware auth z odświeżaniem JWT”Scenariusz: Chronione strony muszą sprawdzać uwierzytelnianie i przezroczyście odświeżać wygasłe tokeny bez przekierowania użytkownika.
To rusztowanie obejmuje dwa pliki middleware, plugin i composable — a podział SSR vs klient (ciasteczko na serwerze, useState na kliencie) to miejsce, gdzie narzędzia AI po cichu produkują niezgodność hydratacji. Wybierz workflow, który pozwala ci ją wyłapać.
Użyj trybu agenta, aby wygenerować middleware/auth.ts, middleware/guest.ts, plugin i useAuth() razem, a następnie zrób checkpoint przed zaakceptowaniem. Odświeżanie auth to klasyczne miejsce, gdzie AI czyta document.cookie podczas SSR — inline diff pozwala wyłapać API tylko-przeglądarkowe w setup, zanim wysadzi render serwera.
Wygeneruj całą powierzchnię auth w trybie headless, a następnie pilnuj granicy SSR hookiem: dodaj hook PostToolUse na middleware/*.ts i plugins/*.ts, który greppuje za document. lub window. poza strażnikiem onMounted/import.meta.client i zawodzi edycję. Uruchom claude -p "build the auth middleware, guest middleware, plugin, and useAuth composable", aby ścieżka przezroczystego odświeżania wylądowała w jednej turze.
Rozwijaj warstwę auth w worktree, aby na wpół ukończony plugin nigdy nie psuł działającej gałęzi dev, następnie wypchnij i pozwól recenzentowi w Cloud skupić się na logice odświeżania tokenu i zachowania przekierowania — przypadki brzegowe cichego odświeżania to dokładnie to, co ujawnia świeży przebieg recenzji.
Oczekiwane wyjście: Dwa pliki middleware, jeden plugin, jeden composable i testy integracyjne.
Przepis 4: Niestandardowy moduł Nuxt do SEO
Dział zatytułowany „Przepis 4: Niestandardowy moduł Nuxt do SEO”Scenariusz: Każda strona potrzebuje spójnych meta tagów, danych strukturalnych i automatycznie generowanej mapy strony.
Oczekiwane wyjście: Katalog modułu z index.ts, composable, pluginy Nitro dla sitemap i robots, oraz testy.
Przepis 5: Konfiguracja renderowania hybrydowego
Dział zatytułowany „Przepis 5: Konfiguracja renderowania hybrydowego”Scenariusz: Twoje strony marketingowe powinny być statyczne, dashboard SSR, a blog ISR z 1-godzinną rewalidacją.
Oczekiwane wyjście: Zaktualizowany nuxt.config.ts, composable trybu renderowania i strona debugowania.
Przepis 6: Aktualizacje w czasie rzeczywistym z Server-Sent Events
Dział zatytułowany „Przepis 6: Aktualizacje w czasie rzeczywistym z Server-Sent Events”Scenariusz: Twój dashboard potrzebuje aktualizacji na żywo dla zmian statusu zamówień bez złożoności WebSocket.
Oczekiwane wyjście: Trasa serwera SSE, dwa composables, integracja z Pinia i testy.
Przepis 7: Współdzielona warstwa Nuxt do ponownego użycia w wielu aplikacjach
Dział zatytułowany „Przepis 7: Współdzielona warstwa Nuxt do ponownego użycia w wielu aplikacjach”Scenariusz: Trzy aplikacje Nuxt współdzielą komponenty, composables i style. Potrzebujesz współdzielonej warstwy.
Oczekiwane wyjście: Katalog warstwy z konfiguracją, 7 komponentami, 3 composables, presetem Tailwind i testem integracyjnym.
Przepis 8: Warstwa bazodanowa z Drizzle ORM
Dział zatytułowany „Przepis 8: Warstwa bazodanowa z Drizzle ORM”Scenariusz: Twoja aplikacja Nuxt potrzebuje typowo-bezpiecznych zapytań do bazy danych, migracji i seedowania.
Warstwa bazodanowa to schemat plus typowane zapytania plus skrypt seed plus konfiguracja migracji — mnóstwo plików, które muszą zgadzać się co do tych samych typów. Relacje i krok migracji to miejsca, gdzie wybór narzędzia ma znaczenie.
Użyj trybu agenta, aby wygenerować schema.ts, funkcje zapytań i seed.ts w jednym przebiegu, obserwując inline diffy, by odwołania kluczy obcych (authorId references users) faktycznie się zgadzały. Uruchom drizzle-kit generate ze zintegrowanego terminala i przejrzyj wygenerowaną migrację SQL przed zastosowaniem.
Wygeneruj schemat i zapytania w trybie headless, a następnie uczyń kontrakt egzekwowalnym: dodaj hook PostToolUse na server/db/schema.ts, który uruchamia drizzle-kit generate, aby migracja nigdy nie rozjeżdżała się ze schematem. Podaj z powrotem wyjście przebiegu seed, jeśli dane z Faker naruszą ograniczenie — pętla terminalowa sprawia, że to jedno polecenie.
Zbuduj warstwę DB w worktree, aby trwająca migracja nigdy nie dotknęła twojej współdzielonej bazy dev, następnie wypchnij i pozwól recenzentowi w Cloud sprawdzić, czy każde zapytanie jest sparametryzowane, a join getPostsWithAuthor poprawnie paginuje przed scaleniem.
Oczekiwane wyjście: Plik schematu, funkcje zapytań, konfiguracja, skrypt seed i testy zapytań.
Przepis 9: Blog z Nuxt Content
Dział zatytułowany „Przepis 9: Blog z Nuxt Content”Scenariusz: Chcesz blog oparty na plikach Markdown z frontmatter, podświetlaniem kodu i spisem treści.
Oczekiwane wyjście: Konfiguracja Nuxt Content, przykładowe posty, strony bloga, niestandardowy komponent prose, trasa RSS i testy.
Przepis 10: Wdrożenie edge na Cloudflare Workers
Dział zatytułowany „Przepis 10: Wdrożenie edge na Cloudflare Workers”Scenariusz: Wdróż swoją aplikację Nuxt na Cloudflare Workers z bazą danych D1, cache’owaniem KV i magazynem R2.
Oczekiwane wyjście: Konfiguracja Nitro, wrangler.toml, narzędzia bindingowe, middleware sesji, trasa uploadu i zapytania D1.
Przepis 11: Strategia testowania aplikacji Nuxt
Dział zatytułowany „Przepis 11: Strategia testowania aplikacji Nuxt”Scenariusz: Twoja aplikacja Nuxt ma zero testów. Potrzebujesz pokrycia dla komponentów, tras serwera i composables.
Postawienie środowiska testowego to konfiguracja plus narzędzia plus pierwsza partia testów — a wartość pojawia się dopiero wtedy, gdy te testy faktycznie uruchamiają się przy każdej zmianie, i tu workflow narzędzi się rozchodzą.
Użyj trybu agenta, aby napisać vitest.config.ts, helpery tests/utils/ i pierwsze testy komponentów, następnie uruchom je w zintegrowanym terminalu i podawaj inline z powrotem ewentualne awarie mountSuspended. Wizualny diff pomaga potwierdzić, że narzędzia testowe pasują do tego, jak montują się twoje prawdziwe strony.
Naturalne dopasowanie: wygeneruj środowisko w trybie headless, a następnie uczyń testy nieopcjonalnymi hookiem PostToolUse, który uruchamia npm run test:unit po edycjach *.vue lub server/**. Użyj claude -p "write @nuxt/test-utils tests for these three composables and two server routes" i pozwól mu iterować względem nieudanego wyjścia aż do zielonego.
Niech zadanie Cloud doda zestaw testów i otworzy PR z raportowanym pokryciem, aby recenzenci widzieli egzekwowany próg 70% dla tras serwera. Generowanie testów w worktree trzyma hałaśliwe nowe pliki testowe z dala od twojej gałęzi funkcji, dopóki nie przejdą.
Oczekiwane wyjście: Konfiguracja Vitest, narzędzia testowe, testy komponentów, testy tras serwera, testy composables i zaktualizowane skrypty.
Przepis 12: Audyt optymalizacji wydajności
Dział zatytułowany „Przepis 12: Audyt optymalizacji wydajności”Scenariusz: Twoja aplikacja Nuxt osiąga 60 punktów w Lighthouse. Przejścia między stronami są powolne, a bundle przekracza 1 MB.
Oczekiwane wyjście: Zaktualizowany nuxt.config, zamienione NuxtImg, konfiguracja podziału chunków i porównanie wydajności.
Gdy przepisy nie działają
Dział zatytułowany „Gdy przepisy nie działają”Co dalej
Dział zatytułowany „Co dalej”- Wzorce Vue.js dla przepisów na poziomie komponentów
- Wzorce API do projektowania API konsumowanych przez twoje trasy serwera Nuxt
- Przepisy bazodanowe do optymalizacji zapytań za twoimi trasami serwera