¿Hay alguna forma de modificar las consultas GraphQL en un componente de la página dependiendo de si el sitio se está ejecutando en modo de desarrollo o de producción?
No puede manipular directamente el texto de la consulta, pero puede pasar un contexto diferente dependiendo de si está en modo dev o prod.
Si esto se refiere al problema descrito en https://github.com/gatsbyjs/gatsby/issues/10844#issuecomment -471349943
crear una lista de blogs mediante programación, para que pueda pasar context
a la consulta
createPage({
path: "/blog",
template: <some_template>,
context: {
draftBlacklist: process.env.NODE_ENV === `production` ? [true] : []
}
})
y luego en consulta:
query BlogListing($draftBlacklist: [String!]!) {
allMarkdownRemark(filter: {frontmatter: {draft: {nin: $draftBlacklist}}}) {
edges {
node {
frontmatter {
title
draft
}
}
}
}
Lo que debería mostrar todos los nodos en desarrollo y filtrar todos los nodos con draft
establecido en true
en producción. Puede haber algún problema con el almacenamiento en caché (si ejecuta compilación tras desarrollo, no volveremos a ejecutar el cajero automático de consultas). Pero si usa netlify
(u otros tipos de CI / CD) para compilaciones de producción, esto debería funcionar
Comentario más útil
No puede manipular directamente el texto de la consulta, pero puede pasar un contexto diferente dependiendo de si está en modo dev o prod.
Si esto se refiere al problema descrito en https://github.com/gatsbyjs/gatsby/issues/10844#issuecomment -471349943
crear una lista de blogs mediante programación, para que pueda pasar
context
a la consultay luego en consulta:
Lo que debería mostrar todos los nodos en desarrollo y filtrar todos los nodos con
draft
establecido entrue
en producción. Puede haber algún problema con el almacenamiento en caché (si ejecuta compilación tras desarrollo, no volveremos a ejecutar el cajero automático de consultas). Pero si usanetlify
(u otros tipos de CI / CD) para compilaciones de producción, esto debería funcionar