Issue #2782💬 RespondidoAbierto el 17 de mayo de 2020por joshbedoReacciones 0

¿La mejor manera de renderizar una página almacenada en Firestore?

Respuesta rápidapor artf

Hola Josh, almacenar y cargar plantillas se describe con más detalle aquí: https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates Básicamente, el editor almacena 2 tipos de datos: 'components' y 'style', JSON resultado de tu plantilla. Necesitas estos para cargar los datos en el editor.'html' y 'css',...

Lee la respuesta completa abajo ↓

Pregunta

He estado leyendo mucha documentación y los números cerrados, pero estoy un poco confundido sobre cuál es la mejor forma de renderizar una página almacenada en Firestore.

Por ejemplo, tengo un backend node.js usando funciones en la nube y pensaba que básicamente tendría un endpoint API que extrajera la página del firestore y la renderice. ¿Es esto posible? No he encontrado muchos ejemplos de cómo renderizar páginas desde el servidor.

En resumen, ¿cómo puedo renderizar una página generada en grapejs? Así puedo mostrar una vista previa de la página y también tener una web en directo usando algo generado por grapejs.

Ejemplo:

app.get('/pages/:id', (req, res) => {
   const page = firebase.getData(req.params.id); Solo un ejemplo

res.send(página);
});

Respuestas (1)

artf9 de junio de 2020

Hola Josh, almacenar y cargar plantillas se describe con más detalle aquí: https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates

Básicamente, el editor almacena 2 tipos de datos:

  • 'components' y 'style', JSON resultado de tu plantilla. Necesitas estos para cargar los datos en el editor.
  • 'html' y 'css', resultado HTML/CSS de tu plantilla. Esto puede usarse para renderizarse en tu página final (por ejemplo, la página creada por tu usuario), pero NO lo uses para cargarlo de nuevo en el editor y editarlo.

En resumen, ¿cómo puedo renderizar una página generada en grapejs?

Bueno, depende, esperaría que lo supieras al principio 😅. Por ejemplo, si almacenas el objeto completo en tu documento de Firebase, el resultado podría ser algo así:

'''js app.get('/pages/:id', (req, res) => { const page = firebase.getData(req.params.id); Solo un ejemplo Solo un ejemplo de lo que puedes devolver res.send('<html> ... <style>${page.css}</style> </head> <body> ${page.html} </body> <html>'); });

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.