Cómo usar GrapesJS con Tailwind CSS (guía completa 2026)

Usa Tailwind CSS dentro de GrapesJS: carga Tailwind en el lienzo del editor (un iframe) para que las clases utilitarias se rendericen en vivo y luego exporta HTML al estilo Tailwind.

DevFuture Development
DevFuture Development
9 de mayo de 2026hace 2 meses
7 lectura mínimaVistas de 10

Lo primero que hay que saber

El lienzo GrapesJS es un iframe con su propio documento. Carga Tailwind en la página anfitriona no aporta nada al lienzo — las clases de utilidad no lo harán renderiza hasta que Viento de Cola esté cargado dentro del lienzo. GrapesJS te da canvas.styles Y canvas.scripts precisamente por esto.

1. Cargar Viento de Cola en el lienzo (desarrollo)

El CDN Tailwind Play es la forma más rápida de ver las clases renderizadas en directo en el Editor:

import grapesjs from 'grapesjs';
import 'grapesjs/dist/css/grapes.min.css';

const editor = grapesjs.init({
  container: '#gjs',
  height: '100vh',
  fromElement: true,
  storageManager: false,
  canvas: {
    // Injected into the canvas iframe, not the host page.
    scripts: ['https://cdn.tailwindcss.com'],
  },
});

2. Utilizar una hoja de estilo construida (producción)

Para producción, compila Tailwind en un archivo CSS real y pasa su URL canvas.styles Así que solo se entregan las clases que usas:

canvas: {
  styles: ['/assets/tailwind.css'],
}

Asegúrate de que los globos de viento content de cola estén en el lugar donde tu bloque HTML existe, así que las clases que usan los bloques no se eliminan.

3. Añadir bloques de viento de cola

editor.BlockManager.add('tw-hero', {
  label: 'Hero',
  content: `
    <section class="bg-slate-900 text-white py-20 text-center">
      <h1 class="text-4xl font-bold">Headline</h1>
      <p class="mt-4 text-slate-300">Supporting copy</p>
    </section>`,
});

4. Exportar HTML al estilo Tailwind

const html = editor.getHtml();   // markup keeps its Tailwind classes
const css = editor.getCss();     // GrapesJS-managed styles, if any
// Serve `html` alongside your built Tailwind CSS.

Trampas comunes

Colourful UI and design tokens
Carga Viento de Cola dentro del lienzo y protege las clases de purgar.

Dos cosas atrapan a todos. Primero, el lienzo es un iframe con su propio documento — cargar Tailwind en la página anfitriona no hace nada; debe ir en canvas.styles o canvas.scripts. Segundo, purga: en una build de producción de Tailwind, cualquier clase que solo aparezca en cadenas de bloques (no tus archivos fuente) se elimina a menos que tus content globos incluyan donde están esos bloques, así que las clases de héroe/sección desaparecen silenciosamente. El Play CDN es solo para desarrollo — enviar una hoja de estilo construida en producción. Y recuerda que el HTML exportado mantiene sus clases de utilidad, así que sírvelo junto con ese mismo CSS Tailwind construido.

Requisitos previos

Necesitarás una configuración GrapesJS y un flujo de trabajo Tailwind (el Play CDN para desarrollo o una hoja de estilo construida para producción). La única regla a recordar: el lienzo de GrapesJS es un iframe, así que Tailwind debe cargarse dentro de él, no solo en la página anfitriona.

Añadir bloques al estilo Tailwind

Bloques de registro cuyo contenido utiliza clases utilitarias Tailwind para que se rendericen con estilo en el lienzo:

editor.BlockManager.add('tw-hero', {
  label: 'Hero',
  category: 'Sections',
  content: `
    <section class="bg-slate-900 text-white py-20 text-center">
      <h1 class="text-4xl font-bold">Headline</h1>
      <p class="mt-4 text-slate-300">Supporting copy</p>
    </section>`,
});

Producción: construye Tailwind para el lienzo

En producción, sustituye el Play CDN por una hoja de estilo integrada que se ha instalado canvas.styles, y asegúrate de que tus grumos de viento de cola content incluye donde esté el HTML de tu bloque — de lo contrario, las clases que usan tus bloques son Purgado y las secciones se renderizan sin estilo:

// tailwind.config.js
content: ['./src/**/*.{html,js,ts}', './src/blocks/**/*.js'],
// grapesjs.init
canvas: { styles: ['/assets/tailwind.css'] }

Consejos de rendimiento

Envía una hoja de estilo Tailwind purgada y construida en producción en lugar del Play CDN, así que El lienzo solo carga las clases que realmente usas. El HTML exportado mantiene su utilidad así que sirve junto a ese mismo CSS construido — sin duplicación de estilo por página.

Resolución de errores comunes

Las clases no se renderizan en el editor , lo que significa que Tailwind no está cargado Dentro del marco de lienzo — añádelo mediante canvas.styles o canvas.scripts. Los bloques parecen sin estilo en producción, pero bien en Dev significa que Purge eliminó sus clases; Ensancha los content globos. Los cambios inesperados en la interfaz del host significan que cargaste Tailwind en el página en lugar de (o tan bien como) el lienzo.

Cuándo usar Tailwind con GrapesJS

Tailwind combina bien con GrapesJS cuando tu sistema de diseño es la utilidad y tú Quiero que las páginas exportadas coincidan exactamente con la producción. Si tu proyecto utiliza un CSS de componentes Framework, en cambio, carga eso en el lienzo de la misma manera — el enfoque iframe es idéntica.

Próximos pasos

Véase el GrapesJS + React y Guías GrapesJS + Vite , navega plugins de biblioteca de bloques y el Mercado GrapesJS, o empieza desde el GJS. Página principal del mercado.

Preguntas frecuentes

¿Por qué las clases de Tailwind no se renderizan en GrapesJS?

El lienzo es un iframe con su propio documento, así que Tailwind debe cargarse dentro el lienzo mediante canvas.styles o canvas.scripts.

¿Cómo cargo Viento de Cola en el lienzo?

Desarrollador: añadir el Play CDN a canvas.scripts. Producción: construye un Viento de Cola hoja de estilo y pasar su URL en canvas.styles.

¿El HTML exportado mantiene las clases de Tailwind?

Sí — editor.getHtml() devuelve el marcado con sus clases de utilidad intacto; Sírvelo con tu CSS Tailwind incorporado.

Más etiquetas:
9 de mayo de 2026 publicado
27 de junio de 2026 actualizado
🔌 GJS. Mercado

¿Buscas plugins para GrapesJS?

Más de 100 plugins, presets y plantillas seleccionados — seleccionados cuidadosamente para la calidad y mantenidos por la comunidad.

Comparte esta publicaciónTwitterFacebookLinkedIn
Publicado a través de
DevFuture Development
DevFuture Development
Visita la tienda →

Más de DevFuture Development

Descubre otras publicaciones interesantes y mantente al día con el contenido más reciente.

Ver todas las publicaciones

Plugins premium de DevFuture Development

Añadidos pagados seleccionados a mano por este creador.

Visita la tienda →