Lección 13. Etiqueta Title.

Además de los metadatos comunes, en Next.js la etiqueta title, tiene otras peculiaridades.

Aprendimos que podemos definir el title de la siguiente manera:

Copiar código
export const metadata = {
  title: 'Next.js',
  description: 'Generated by Next.js',
}

Pero también existe una ampliación para personalizar el title:

Donde title también puede ser un objeto:

Copiar código
import type { Metadata } from 'next'

export const metadata: Metadata = { 
  title: { 
    absolute: 'About',
    template: '%s | sufujo',
    default: ''
  },
}

El cual puede contener atributos como:

Expliquémoslos:

Ejemplos de entendimiento._

Si nuestra estructura es la siguiente:

Copiar código
|-.next/
|-node-modules/
|-public/
|-src/
  |-app/
    |-layout.tsx
    |-page.tsx
    |-login/
      |-page.tsx
    |-register/
      |-page.tsx
    |-information/
      |-page.tsx
|- ...Otros archivos...

Dentro del layout.tsx definimos:

Copiar código
import { Metadata } from "next"

export const metadata: Metadata = {
  title: {
    template : "%s | Curso Next.js",
    default: "Página sin nombrar",
    absolute: "Pagina principal"
  },
  description: 'Descripción global',
}

Dentro de /src/login/page.tsx también, definimos:

Copiar código
import { Metadata } from "next"

export const metadata: Metadata = {
  title: {
    absolute : "inicio de sesión",
  },
}

Dentro de /src/information/page.tsx también, definimos:

Copiar código
export const metadata = {
  title: "Información",
  description: "Pagina de recuperación de contraseña"
}

Y en /src/register/page.tsx NO definimos un titulo.

Al navegar por las rutas obtendremos que los title para cada pagina seran:

Nota: Los metadatos son exclusivos a utilizar para Componentes de Servidor.

Página de Programación — Next.js