es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La consulta del resolver de Gatsby GraphQL no devuelve todos los campos.

Tengo esta consulta de resolución en la que filtro todas las entradas de Markdown para construir una colección:

export const createResolvers = ({createResolvers}) => {
    const resolvers = {
        Query : {
            allPosts     : {
                type   : ["Post"],
                args   : { limit: `Int`, skip: `Int` },
                resolve: async (source, args, context, info) => {
                    const { entries } = await context.nodeModel.findAll({
                        type : "MarkdownRemark",
                        query: {
                            limit : args.limit,
                            skip  : args.skip,
                            filter: {
                                fileAbsolutePath: {
                                    regex: "//collections/posts//"
                                }
                            }
                        }
                    });

                    return entries;
                }
            },
        }
    }
}

Devuelve una colección de tipo Post:

    type Post implements Node @dontInfer {
        id: ID!
        html: String
        rawMarkdownBody: String
        fileAbsolutePath: String
        ...
    }

Las entradas de MarkdownRemark que selecciono tienen un campo html que contiene la salida HTML del archivo Markdown. Puedo verlo en el playground/console de Graphiql.

Cuando hago una consulta con allPosts, el campo html está vacío. Recibo rawMarkdownBody y otros campos pero no html.

¿Alguna idea de por qué?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que el complemento que estás utilizando para transformar Markdown a HTML no esté generando el campo html. Verifica la documentación del complemento para asegurarte de que debe generar ese campo.

    Si el complemento debe generar el campo html pero no lo está haciendo, intenta reconstruir la caché de tu sitio ejecutando gatsby clean seguido de gatsby develop o gatsby build. Esto puede resolver cualquier problema de caché con el complemento.

    Si ninguna de estas soluciones funciona, ponte en contacto con los responsables del mantenimiento del complemento para obtener ayuda adicional.

Comments are closed.