Saltar al contenido principal

Construyendo sitios estáticos

Analog soporta la generación de sitios estáticos cuando se construye para el despliegue. Esto incluye prerenderizar las rutas proporcionadas a ficheros HTML estáticos junto con la aplicación del lado del cliente.

Generación de sitios estáticos

Para prerrenderizar páginas, usa la propiedad prerender para configurar las rutas que se renderizarán en el momento de la construcción. Las rutas a prerrenderizar también se pueden proporcionar de forma asíncrona.

import { defineConfig } from 'vite';
import analog from '@analogjs/platform';

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({
plugins: [
analog({
prerender: {
routes: async () => [
'/',
'/about',
'/blog',
'/blog/posts/2023-02-01-my-first-post',
],
},
}),
],
}));

Para solo prerrenderizar las páginas estáticas, usa la bandera static: true.

import { defineConfig } from 'vite';
import analog from '@analogjs/platform';

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({
plugins: [
analog({
static: true,
prerender: {
routes: async () => [
'/',
'/about',
'/blog',
'/blog/posts/2023-02-01-my-first-post',
],
},
}),
],
}));

Las páginas estáticas se pueden desplegar desde el directorio dist/analog/public.

Generación de Sitemap

Analog también soporta la generación automática de sitemap. Analog genera un sitemap en el directorio dist/analog/public al ejecutar una compilación si se proporciona una configuración de sitemap.

import { defineConfig } from 'vite';
import analog from '@analogjs/platform';

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({
plugins: [
analog({
prerender: {
routes: async () => ['/', '/blog'],
sitemap: {
host: 'https://analogjs.org/',
},
},
}),
],
}));

Siempre que se proporcionen rutas, Analog genera un fichero sitemap.xml que contiene un mapeo de las propiedades <loc> y <lastmod> de las páginas.

<?xml version="1.0" encoding="UTF-8"?>
<urlset...>
<!--This file was automatically generated by Analog.-->
<url>
<loc>https://analogjs.org/</loc>
<lastmod>2023-07-01</lastmod>
</url>
<url>
<loc>https://analogjs.org/blog</loc>
<lastmod>2023-07-01</lastmod>
</url>
</urlset...>