¿La mejor manera de renderizar una página almacenada en Firestore?
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)
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.
Issue #1712
Cabecera y pie de página
Estoy pensando en añadir varias páginas con cabecera y pie de página Actualmente tengo una idea sobre cómo implementar la página múltiple,...
Issue #957
[Pregunta] Añadir atributos personalizados (datos-) a los recursos/imágenes al subir/seleccionar
Hola, estoy haciendo todo lo posible por encontrar la mejor manera de hacerlo, pero necesito adjuntar dos etiquetas de datos HTML5 personal...
Issue #1964
[PREGUNTA] Requisitos mínimos para crear un componente personalizado
He estado leyendo la documentación todo el día sobre cómo crear un componente personalizado. También he mirado grapesjs-mjml como ejemplo....
Issue #3070
¿ERROR / Característica? Aplicar color de fondo al componente del cuerpo no forma parte del HTML exportado.
¡Hola Art, gracias por crear un proyecto tan fantástico! No estoy seguro de si esto se consideraría un error o una solicitud de función......
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →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.