Crea el Teu Generador de Llocs Estàtics

Aprèn a construir un SSG mínim amb React i Node.js sense bundlers: genera HTML estàtic en la compilació, millora rendiment i SEO, i una guia pas a pas.

domingo, 17 de agosto de 2025 • 3 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Introducció a la Generació de Llocs Estàtics SSG

La Generació de Llocs Estàtics SSG és el procés de convertir una aplicació en HTML pla en temps de compilació No sempre calen frameworks grans com Nextjs Gatsby o Astro De vegades n'hi ha prou amb agafar un component React renderitzar-lo a HTML durant la build i desplegar-lo

Beneficis

Rendiment més ràpid perquè l'HTML està llest abans que arribi l'usuari Millora en SEO perquè els motors de cerca indexen HTML fàcilment

Resum de l'exemple

Construïm un SSG mínim en menys de 40 línies de JavaScript utilitzant només React i Nodejs Sense JSX ni bundler fem servir createElement com a base

Prerequisits

Nodejs 18 o superior react i reactdom instal·lats

Estructura de fitxers suggerida

ssg carpeta amb Appjs indexhtml buildjs packagejson

Appjs

Definir un component funcional que retorni l'estructura desitjada fent servir createElement si no hi ha un pas de compilació JSX Això evita dependre d'un bundler

Indexhtml

Plantilla HTML amb un marcador Root on s'inserirà l'HTML generat durant la compilació La build substitueix aquest marcador per l'HTML estàtic

Packagejson

Configurar type module i un script build que executi node buildjs afegir dependències react i reactdom

Buildjs

El script importa createElement de react i renderToStaticMarkup de react dom server Renderitza el component com un element React fent servir h parentesi App i converteix el resultat a una cadena HTML plana Llegeix la plantilla indexhtml substitueix el marcador Root i escriu l'HTML final en una carpeta dist creant la carpeta si cal i netejant fitxers antics

Per què fer servir h parentesi App en lloc de cridar App parentesi parentesi

h parentesi App crea un element React equivalent a col·locar un component en JSX Cridar App directament executa la funció i omet funcions de React com hooks Per això hooks com useState o useEffect fallaran si es crida la funció directament

Què fa renderToStaticMarkup

renderToStaticMarkup agafa un element React i retorna una cadena HTML pura neta A diferència de renderToString no inclou atributs de React per a hidratació en client

Com obtenir filename i dirname en ES Modules

En ES Modules les variables globals filename i dirname no existeixen Podem reconstruir-les fent servir importmetaurl i les funcions fileURLToPath i dirname del mòdul path Això permet llegir la plantilla i crear la carpeta dist independentment del directori de treball

Propers passos suggerits

Afegir múltiples pàgines des de fonts de dades Analitzar Markdown per a blogs Integrar estils amb CSS o Tailwind i afegir hidratació del costat del client per a interactivitat

Sobre Q2BSTUDIO

Q2BSTUDIO és una empresa de desenvolupament de programari i aplicacions a mida especialistes en intel·ligència artificial i ciberseguretat Oferim serveis cloud aws i azure serveis d'intel·ligència de negoci implementació d'agents IA i solucions de power bi per a visualització i analítica El nostre equip desenvolupa programari a mida i aplicacions a mida centrades en resultats escalables i segurs

Paraules clau per millorar posicionament

aplicacions a mida programari a mida intel·ligència artificial ciberseguretat serveis cloud aws i azure serveis intel·ligència de negoci IA per a empreses agents IA power bi

Contacta amb nosaltres

Si vols que t'ajudem a construir un SSG personalitzat o una arquitectura completa amb IA i seguretat posa't en contacte amb Q2BSTUDIO per a una proposta a mida

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.