Studio Terabyte is een fullstack web development studio die oplossingen vindt en bouwt passend bij uw project
Nuxt 3 is de volgende grote versie van het populaire open sourve Vue framework Nuxt. Dit framework neemt alles wat er goed is aan Vue en voegt een aantal extra functies en features toe waardoor het bouwen van een moderne website een nog betere ervaring wordt. Niet alleen dat, het helpt met het volgen van conventies, is SEO-vriendelijk en stelt je in staat om statische sites te maken voor je JAM-stackproject.
Er zijn een hoop dingen veranderd, we zullen hier de highlights bespreken.
Een van de grootste veranderingen is dat Nuxt 3 gebouwd is op Vue 3. Dit betekent:
Naast dat Nuxt 3 op Vue 3 is gebaseerd, addopteert het ook ES Modules (ESM) en TypeScript.
TypeScript is een superset van JavaScript wat optionele typing toevoegd en compiles naar standaard JavsScript. Dit betekent dat je de codebase van jouw Nuxt project betrouwbaarder en expliciter kunt maken door het toevoegen van types. Dit helpt het eerder voorkomen van errors in de development cyclus.
Nuxt 3 maakt gebruik van een nieuwe server engine: Nitro. Deze nieuwe engine voegt een aantal nieuwe features toe zoals:
nuxt build
command in een nieuwe .output
map. De output bestanden zijn minified en vrij van Node.js modules (behalve polyfills). Deze output kan gemakkelijk worden gedeployed op elk platform wat JavaScript ondersteunt van Node.js, Serverless, Workers, Edge-side rendering tot puur statisch.server/api/
map (Zie API Routes hieronder)Nuxt 3 introduceert “incremental static generation” of hybrid rendering. Dit houdt in dat je niet langer hoeft te kiezen tussen een volledige statisch site (SSG), zoals deze website, en server side rendering. Nu kun je SSG doen op een per pagina basis, zonder de hele site opnieuw te herbouwen. Next.js heeft dit al als een optie beschikbaar
Zoals hierboven genoemd, is een voordeel van de nieuwe Nitro engine de mogelijkheid om API server code te schrijven en te draaien binnen Nuxt. Dit kan simpelweg door een JavaScript of TypeScript bestand toe te voegen aan de /server/api/
map en de API als elke andere normale API aan te roepen. Dus je kunt bijvoorbeeld zoiets toevoegen aan /server/api/test.ts
import type { IncomingMessage, ServerResponse } from 'http'
export default async (req: IncomingMessage, res: ServerResponse) => {
res.statusCode = 200
res.end('Works!')
}
Naast de gehighlighte features, zijn er nog veel meer dingen veranderingen zoals:
Op het momement van schrijven, 11 november 2021, is Nuxt 3 nog steeds in de Beta fase. Dit betekent dat het een goed momement is om met de nieuwe features te experimenteren, maar dat het nog niet geschikt is voor productie. Je kunt de officiële website in de gaten houden voor updates.
Er is een ding wat je in de tussentijd wel kunt doen. Nuxt 3 introduceerde ook Nuxt Bridge. Bridge brengt Nuxt 3 features naar Nuxt 2 zodat je er aan kunt wennen om de migratie makkelijker te maken