¿Se puede modular el código HTML?

Avatar

Si tengo una página HTML muy extensa, ¿puedo separar el código en otros archivos y luego importarlos en zonas específicas del documento?

¿Qué lenguaje recomiendan para hacerlo?

Avatar

Con HTML plano no se puede. Si es una página sencilla, podrías usar una estructura a partir un Boilerplate basado en Pug (que es un motor de plantillas para HTML).

También puedes utilizar las librerías/frameworks Js más famosos del momento: React, Angular o Vue.

Tenemos un pequeño taller donde te orienta a cuál elegir según lo que requieras: https://ed.team/cursos/que-framework-js-elegir

Avatar
Vicente Angel Lopez Romero

@vicenteangellopezromero

Hola Fabricio.

Se puede, pero no directamente con HTML (que yo sepa).

Lo normal es hacerlo con alguna tecnología de servidor, que suelen tener los clásicos "imports" de un modo u otro para "incrustar" fragmentos que estén físicamente en otro fichero: php, jsp, perl, go, python... Cualquier tecnología de backend te vale para ello.

Supongo que el principal problema que quieres resolver es no repetir secciones que son exactamente iguales (o casi) en todos tus documentos HTML. Hay varios enfoques para hacerlo, desde dejar fragmentos HTML en otros ficheros y luego usar uno principal para enlazar dinámicamente en función de la URL, hasta conseguir directamente el famoso "Single Page Application", en el que realmente puedes llegar a tener un único fichero y vas generando al vuelo HTML sin necesidad de almacenar "fragmentos HTML" en otros ficheros. Creo que hay un curso por aquí sobre ello, pero aún no lo he visto (aunque seguro que está genial 😁). En este último caso, el posicionamiento puede llegar a complicarse, al tener los crawlers problemas para rastrear e indexar correctamente tu sitio.

Espero que te ayude.

Un saludo

Avatar
Vicente Angel Lopez Romero

@vicenteangellopezromero

Si tu problema es simplemente que es muy extensa, no necesitas nada especial. Divídela en distintos documentos HTML y usa enlaces a esos documentos desde tu página principal. Pero pronto llegarás al problema que te comentaba antes...

Avatar
Vicente Angel Lopez Romero

@vicenteangellopezromero

El tag <iframe>
en html te puede servir también.

Avatar

Escribe una respuesta