Gatsby: Faltan recursos para /

Creado en 3 feb. 2019  ·  112Comentarios  ·  Fuente: gatsbyjs/gatsby

Resumen

Periódicamente en mi sitio de producción veo el siguiente error;

Error: Missing resources for /
  at render(./.cache/ensure-resources.js:133:17)
  at Sg(./node_modules/react-dom/cjs/react-dom.production.min.js:169:129)
  at Hh(./node_modules/react-dom/cjs/react-dom.production.min.js:214:16)
  at Ih(./node_modules/react-dom/cjs/react-dom.production.min.js:215:274)
  at ji(./node_modules/react-dom/cjs/react-dom.production.min.js:230:233)
  at ki(./node_modules/react-dom/cjs/react-dom.production.min.js:229:143)
  at Fh(./node_modules/react-dom/cjs/react-dom.production.min.js:226:196)
  at bg(./node_modules/react-dom/cjs/react-dom.production.min.js:224:28)
  at qi(./node_modules/react-dom/cjs/react-dom.production.min.js:243:14)
  at render(./node_modules/react-dom/cjs/react-dom.production.min.js:251:109)
  at oi(./node_modules/react-dom/cjs/react-dom.production.min.js:254:364)
  at Ai(./node_modules/react-dom/cjs/react-dom.production.min.js:254:350)
  at apply(./.cache/production-app.js:114:7)
  at r(./node_modules/@sentry/browser/dist/index.js:3114:1)

A veces parece que esto hace que el sitio no se muestre en absoluto y solo muestre una página en blanco.

Información relevante

Puedes ver el rastro en Sentry aquí.

Medio ambiente (si es relevante)

Este es el entorno en el que se construye el sitio;

  System:
    OS: macOS High Sierra 10.13.2
    CPU: x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 8.11.1 - ~/.nvm/versions/node/v8.11.1/bin/node
    Yarn: 1.9.4 - ~/.nvm/versions/node/v8.11.1/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v8.11.1/bin/npm
  Browsers:
    Chrome: 71.0.3578.98
    Safari: 11.0.2
  npmPackages:
    gatsby: ^2.0.19 => 2.0.72
    gatsby-image: ^2.0.15 => 2.0.20
    gatsby-plugin-create-client-paths: ^2.0.2 => 2.0.2
    gatsby-plugin-google-gtag: ^1.0.8 => 1.0.8
    gatsby-plugin-manifest: ^2.0.5 => 2.0.10
    gatsby-plugin-offline: ^2.0.11 => 2.0.17
    gatsby-plugin-page-transitions: ^1.0.7 => 1.0.7
    gatsby-plugin-react-helmet: ^3.0.0 => 3.0.2
    gatsby-plugin-sharp: ^2.0.18 => 2.0.18
    gatsby-plugin-stripe-elements: ^1.0.9 => 1.0.9
    gatsby-plugin-twitter: ^2.0.8 => 2.0.8
    gatsby-source-filesystem: ^2.0.4 => 2.0.12
    gatsby-transformer-sharp: ^2.1.12 => 2.1.12
  npmGlobalPackages:
    gatsby-cli: 2.0.0-rc.1
    gatsby-plugin-countly: 0.2.0

No tengo idea de por dónde empezar a depurar esto, por lo que se agradece cualquier ayuda.

needs reproduction question or discussion

Comentario más útil

@wardpeet está trabajando en algunas pruebas para simular problemas de red, pero deberíamos tener esto en las próximas 24 horas.

Todos 112 comentarios

Podría estar relacionado con https://github.com/gatsbyjs/gatsby/issues/11453

Quizás, aunque aquí no hay nada relacionado con el 404.

Lo siento, estás viendo esto, @Jivings

¿Podría vincular a una reproducción mínima si es posible?

No he podido reproducirlo localmente 🙁 ¿Hay más información que pueda conseguirle o el informe del centinela ayuda en algo? ¿En qué circunstancias podría ocurrir esto para que pueda reducirlo?

También veo esto, pero solo después de la implementación, no puedo reproducir localmente.

Uncaught Error: Missing resources for /store/
    at t.n.render (ensure-resources.js:135)
    at Xo (react-dom.production.min.js:156)
    at Qo (react-dom.production.min.js:155)
    at ti (react-dom.production.min.js:162)
    at Oi (react-dom.production.min.js:192)
    at ji (react-dom.production.min.js:193)
    at fa (react-dom.production.min.js:205)
    at sa (react-dom.production.min.js:204)
    at Mi (react-dom.production.min.js:200)
    at ya (react-dom.production.min.js:218)

Sin embargo, he notado que solo obtengo este error en una rama en la que intenté eliminar ThemeProvider (componentes con estilo) de mi código y supongo que en algún lugar las cosas se estropearon en la estructura del archivo ya que no se agregaron / actualizaron / eliminaron paquetes. Se actualizará si identifico la causa, pero no hay mucho por lo que pasar.

Estoy teniendo el mismo problema aquí ... primero, lo siento por mi inglés, hablo español ¯_ (ツ) _ / ¯

Error: Missing resources for /...
    at t.n.render (ensure-resources.js:135)
    at Ri (react-dom.production.min.js:169)
    at Ci (react-dom.production.min.js:168)
    at Li (react-dom.production.min.js:176)
    at Ba (react-dom.production.min.js:221)
    at Ha (react-dom.production.min.js:222)
    at Pl (react-dom.production.min.js:238)
    at Tl (react-dom.production.min.js:237)
    at wl (react-dom.production.min.js:234)
    at Qa (react-dom.production.min.js:232)

En primer lugar, un poco de contexto, tuve un problema relacionado con un paquete de carrusel Tiny Slider que estaba usando window , así que busqué diferentes carruseles con SSR implementado y encontré react-responsive-carousel . Funciono muy bien con lo que necesitaba, pero solo en develop .

El error mencionado ocurre en dos escenarios relacionados:

escenario 1
Utilizo componentes con estilo para diseñar mi diapositiva, pero agregar mixins rompió mis compilaciones. Descubrí que agregar gatsby-plugin-styled-components resolvió el problema; y funciona, pero ... el escenario 2 sucedió

Escenario 2
Ahora mi compilación está funcionando y puedo ver mi página con estilos. Pero mi carrusel no funciona, no hace nada !!! 😱 ... Sin embargo, los estilos se ven geniales ... 😅
Así que simplemente elimino el gatsby-plugin-styled-components y el script funcionó de nuevo, pero no mis estilos 🙃

Espero que esto dé algunas pistas para encontrar y resolver el problema.

Hola chicos.

No estoy seguro si esto ayuda, pero tuve un problema similar, resulta que mi recurso faltante era una variable env faltante (producción) para firebase. Esto a su vez pareció afectar mis imágenes; esto debe haber tenido un impacto en un paso de compilación

Puede proporcionar más información si es necesario ...

@Jivings ¿puedes actualizar el paquete gatsby y gatsby-plugin-offline? esto sucede cuando crea una nueva compilación, pero los recursos de la anterior ya no están disponibles (por lo que el html almacenado en caché por el complemento fuera de línea intenta usar recursos no disponibles). En las versiones más recientes de los paquetes gatsby / offline, agregamos la recarga después de las actualizaciones del trabajador del servicio para no dejar el sitio en un estado inutilizable

En mi caso, cambié una importación de import { Link } from './' a import { Link } from './Link' (en mi archivo /components/footer.js ), y solucionó el error "Recursos faltantes para /". Supongo que era una dependencia circular. Pero no sé si arreglará el tuyo
Editar: si el error ocurre periódicamente, creo que la solución de @pieh anterior tiene mejores posibilidades de solucionarlo.

Recibo estos errores, pero solo en IE11. No estoy seguro exactamente de qué recursos están fallando, ya que solo ocurre en un navegador, por lo que puedo decir, pero veo algunos errores en react-dom (vea las capturas de pantalla a continuación). Actualicé todas mis dependencias de Gatsby a sus últimas versiones y agregué un polyfill en caso de que se ahogara con Symbol o algo demasiado moderno, pero los errores aún ocurren. También tengo problemas de carga de imágenes en IE11, creo que como lo que se discute en # 4021. Si elimino todas las imágenes y el complemento sin conexión, no obtengo errores al cargar la página, pero sí cuando navego a otras páginas, incluso si no contienen imágenes. Parece que algunos JS no se cargan e IE presenta probablemente la página HTML 404 en su lugar. Así que definitivamente hay algo extraño aquí.

Estoy trabajando en mi rama de desarrollo implementada en Netlify para probar correcciones en varios dispositivos.
Aquí está la última compilación de depuración si desea probarla: https://5c6ee3b943e6c400080a5a8b--marcysutton.netlify.com/about/
Aquí está mi sitio en vivo, que definitivamente tiene todas las fallas en IE11 todavía: https://marcysutton.com
Y aquí está la fuente de mi sitio: https://github.com/marcysutton/gatsby-site

Aquí hay algunas capturas de pantalla de mi VM:

stack trace
script errors in console
react-dom looks related

@marcysutton ¿Has avanzado en esto? Veo lo mismo solo en IE11. No hay problemas en otros navegadores.

¡Aún no! @sidharthachatterjee o @pieh , ¿es esta información suficiente para depurar? Bastante problema de bloqueo en IE11 en este momento.

@Undistraction Tengo buenas noticias: el equipo me ayudó a depurar este problema y señalaron que IE11 tiene problemas con las funciones de flecha sin compilar en un complemento ( gatsby-background-image ). Están discutiendo cambios en el núcleo de Gatsby para dar cuenta de esto, pero mientras tanto, debería poder solucionarlo compilando cualquier complemento que esté causando problemas: https://www.gatsbyjs.org/packages/gatsby-plugin- compile-es6-packages /? = compilar

Aquí es donde lo usé en mi sitio: https://github.com/marcysutton/gatsby-site/blob/develop/gatsby-config.js#L107

¡Háganos saber si todavía tiene algún problema!

El mismo problema aquí, ver esto periódicamente en sitios web que no he visitado durante unos días (el sitio web de Gatsby también). No en IE11 sino en Chrome. Después de unos segundos de página en blanco, hay una actualización después de la cual todo vuelve a funcionar.

Versiones de un ejemplo:
gatsby : 2.0.118
gatsby-plugin-offline : 2.0.23

Recibo este error en IE (modo de borde).

Apunta al archivo react-dom.production.min.js en la línea 1 char 195183.

al hacer clic en el error en IE, apunta a este código:

if(pi)throw a=qi,qi=null,pi=!1,a;}

@marcysutton Gracias por la actualización. No había detectado ese error de sintaxis en su consola. Para nosotros no tenemos ningún error. La navegación de la página está completamente rota en IE11 y la página no se hidrata. En una actualización de página, obtenemos el error de recursos faltantes. Hemos tenido que eliminar el soporte de IE11 porque no hay nada en lo que continuar. No hay problemas con ningún otro navegador. Mi corazonada es que este es un problema de polyfill, pero que el error se está tragando en alguna parte, pero eso es solo una suposición. No entiendo cómo la hidratación de la página puede fallar sin ningún error en la consola.

Recibo este error en la (1ra) carga. Parece despejarse después de recargar. Alojamiento de producción / Firebase.
Error: Missing resources for /

@rkhayat, ¿ podría vincularlo a una URL o, mejor aún, proporcionar una reproducción ?

¡Gracias!

FWIW Escribí mi experiencia con este problema en https://github.com/gatsbyjs/gatsby/issues/12399 Podría ser de ayuda para cualquiera que encuentre el error Missing resources for / .

Estaba teniendo lo que parece un problema similar: se podía navegar bien por el sitio, pero en cualquier página, si actualizaban, la página estaría en blanco y vería Error: Missing resources for /<path> . Una actualización completa o el borrado de la memoria caché volverían a cargar la página, pero nuevamente las actualizaciones normales mostrarían una página en blanco.

Al no poder reproducir esto localmente con gatsby server , sospeché que era un problema de CDN, así que invalide el directorio raíz en mi distribución de CloudFront que parece haber resuelto este problema para mí. Todavía no estoy seguro de qué estaba pasando exactamente, pero sospecho que algunas referencias quedaron desactualizadas. Espero que esto ayude a alguien más.

Hola!

Este tema se ha silenciado. Silencio espeluznante. 👻

Tenemos muchos problemas, por lo que actualmente los cerramos después de 30 días de inactividad. Han pasado al menos 20 días desde la última actualización aquí.

Si nos perdimos este problema o si desea mantenerlo abierto, responda aquí. ¡También puede agregar la etiqueta "no obsoleto" para mantener este problema abierto!

¡Gracias por ser parte de la comunidad de Gatsby! 💪💜

@ gatsbyjs-read-only-user No obsoleto 😬

@Undistraction Tengo buenas noticias: el equipo me ayudó a depurar este problema y señalaron que IE11 tiene problemas con las funciones de flecha sin compilar en un complemento ( gatsby-background-image ). Están discutiendo cambios en el núcleo de Gatsby para dar cuenta de esto, pero mientras tanto, debería poder solucionarlo compilando cualquier complemento que esté causando problemas: https://www.gatsbyjs.org/packages/gatsby-plugin- compile-es6-packages /? = compilar

Aquí es donde lo usé en mi sitio: https://github.com/marcysutton/gatsby-site/blob/develop/gatsby-config.js#L107

¡Háganos saber si todavía tiene algún problema!

@marcysutton ¿Cómo identificó los complementos / módulos que contienen funciones de flecha sin compilar?

@onetwothreebutter abre los archivos JavaScript compilados en el navegador y busca => . IE no facilitó saber de dónde venían, así que busqué manualmente con "Ctrl + F"

Esto debería mejorar en el núcleo con el tiempo, ¡pero así es como puede verificar mientras tanto!

Me gustaría agregar que este problema persiste para nosotros en todos los navegadores y versiones, no es solo IE, y parece que se desencadena al usar un Service Worker en Gatsby. Relacionado: # 12399

También me he enfrentado al mismo problema.

  • Si el trabajador del servicio está habilitado, la actualización de las páginas provoca los errores mencionados anteriormente. Este problema aparecía principalmente en Chrome. El navegador Edge parece funcionar bien (probablemente porque el trabajador del servicio no entra en juego allí)
  • Al eliminar el trabajador de servicio y usar el complemento gatsby-plugin-remove-serviceworker este problema desaparece
    Resolución utilizada:
  • Sin embargo, dada la importancia de que el trabajador del servidor funcione, probé el complemento gatsby-plugin-remove-trailing-slashes en combinación con el complemento PWA gatsby-plugin-offline y esto parece resolver el problema para mí.

Tengo este error y no estoy usando un trabajador de servicio.
Estaba pensando que tal vez suceda si la página se carga con una determinada versión del sitio, y luego se realiza una implementación y los nombres de los activos cambian para que la versión abierta no pueda encontrarlos.
Además, la versión que causa el error en Sentry no es la versión que estaba activa en el momento del error.

@antoinerousseau Sí, después de algunos intentos de arreglarlo, todavía lo conseguimos incluso sin el SW. Actualizamos algunos complementos de Gatsby a versiones recientes y redujo el recuento de errores, pero no a 0 (aunque podría ser una coincidencia)

@KyleAMathews ¿Has estado viendo esto o tienes alguna información?

@jackhair es difícil saber qué está pasando sin una reproducción. http://gatsby.dev/reproduction

@smakosh No estoy usando trabajadores de servicio.

El complemento sin conexión lo está usando

Ok, pero lo que quiero decir es que el error ocurre incluso sin ese complemento.

¿Puede comprobar que ha anulado correctamente el registro del SW, ya que quizás lo haya utilizado antes? Intente también borrar su caché de Gatsby eliminando las carpetas public y .cache

Nunca usé ningún SW en ese proyecto. (y solo comprobado por si acaso)
Netlify siempre recrea public y .cache .
Sentry está reportando errores en producción.
https://sentry.io/share/issue/738b234836814442b7702866c6814fdf/

¿Su proyecto es de código abierto? Si es así, ¿puedes vincular a continuación? Me encantaría verlo y ver cómo puedo solucionarlo.

Lo siento, no lo es, pero básicamente es un sitio de Gatsby servido por Netlify ...

  "dependencies": {
    "@sentry/browser": "^5.1.1",
    "@types/algoliasearch": "^3.30.8",
    "@types/dotenv": "^6.1.0",
    "@types/he": "^1.1.0",
    "@types/jump.js": "^1.0.2",
    "@types/node": "^11.13.7",
    "@types/node-fetch": "^2.3.3",
    "@types/react": "^16.8.14",
    "@types/react-dom": "^16.8.4",
    "@types/source-map-support": "^0.5.0",
    "@types/standard-http-error": "^2.0.0",
    "@types/styled-components": "^4.1.14",
    "algoliasearch": "^3.32.0",
    "aws-sdk": "^2.443.0",
    "babel-plugin-styled-components": "^1.10.0",
    "date-fns": "^2.0.0-alpha.27",
    "gatsby": "^2.3.31",
    "gatsby-image": "^2.0.40",
    "gatsby-plugin-google-analytics": "^2.0.18",
    "gatsby-plugin-manifest": "^2.0.29",
    "gatsby-plugin-netlify": "^2.0.15",
    "gatsby-plugin-offline": "^2.0.24",
    "gatsby-plugin-react-helmet": "^3.0.12",
    "gatsby-plugin-sharp": "^2.0.35",
    "gatsby-plugin-styled-components": "^3.0.6",
    "gatsby-plugin-typescript": "^2.0.13",
    "gatsby-source-filesystem": "^2.0.32",
    "gatsby-transformer-sharp": "^2.1.18",
    "he": "^1.2.0",
    "hyphenslug": "^1.0.0",
    "intersection-observer": "^0.6.0",
    "jump.js": "^1.0.2",
    "mkdirp2": "^1.0.4",
    "mustache": "^3.0.1",
    "node-fetch": "^2.3.0",
    "nodemailer": "^6.1.1",
    "prop-types": "^15.7.2",
    "react": "^16.8.3",
    "react-dom": "^16.8.3",
    "react-helmet": "^5.2.0",
    "sitemap": "^2.1.0",
    "source-map-support": "^0.5.12",
    "standard-http-error": "^2.0.1",
    "strip": "^3.0.0",
    "styled-components": "^4.1.3",
    "ts-node": "^8.1.0",
    "typescript": "^3.4.5",
    "whatwg-fetch": "^3.0.0"
  },

Veo el complemento sin conexión instalado, ¿puede confirmar que no está incluido en su archivo gatsby-config?

Sí, lo siento, pero no se usa, aquí está mi configuración de Gatsby:

module.exports = {
  siteMetadata: {/*...*/},
  plugins: [
    `gatsby-plugin-typescript`,
    `gatsby-plugin-styled-components`,
    `gatsby-plugin-react-helmet`,
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images`,
      },
    },
    {
      resolve: `gatsby-plugin-sharp`,
      options: {
        defaultQuality: 80,
      },
    },
    `gatsby-transformer-sharp`,
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Le Bikini`,
        short_name: `Le Bikini`,
        start_url: `/`,
        background_color: `#000000`,
        theme_color: `#000000`,
        display: `minimal-ui`,
        icon: `src/images/favicon.png`,
      },
    },
    `gatsby-plugin-netlify`,
    {
      resolve: `gatsby-plugin-google-analytics`,
      options: {
        trackingId: process.env.GOOGLE_ANALYTICS,
        head: false,
        anonymize: true,
        respectDNT: true,
      },
    },

    // this (optional) plugin enables Progressive Web App + Offline functionality
    // 'gatsby-plugin-offline',
    // To learn more, visit: https://gatsby.app/offline
  ],
}

Y puedes verlo en vivo en https://lebikini.netlify.com

No puedo ayudar sin un repositorio de reproducción ya que necesito verificar más cosas para depurar

ten cuidado @antoinerousseau
gatsby-plugin-netlify complemento
https://www.npmjs.com/package/gatsby-plugin-netlify

@abumalick @antoinerousseau Movemos gatsby-plugin-netlify al final de nuestra matriz de complementos, y no cambió nada.

¿Quizás esto tenga algo que ver con eso? https://github.com/gatsbyjs/gatsby/issues/11982

Cuando alguna vez me he encontrado con el problema (pura casualidad), siempre tiene algún tipo de error relacionado con la falta de manifiesto de páginas.

Aquí describí la única solución que funciona en todos los casos en un problema relacionado: https://github.com/gatsbyjs/gatsby/issues/12399#issuecomment -488247566

Tuve el mismo problema. Mi caso era el mismo que @ efd1 : la importación en forma de import { Module } from "." estaba rompiendo mi compilación de producción (el desarrollo funcionaba sin ningún problema). Desafortunadamente, no fue muy fácil de depurar y encontrar.

image

Las sugerencias anteriores no parecen funcionar para mí. Solo veo esto para usuarios de iOS y solo esporádicamente. Parece que no puedo replicarlo y, por lo tanto, es difícil averiguar qué podría estar mal. ¿Algún consejo sobre cómo averiguar cuál podría ser el problema subyacente?

Para hacernos eco de la declaración de Kyle anterior, necesitamos sitios de demostración reproducibles para poder ayudar. http://gatsby.dev/reproduction

es difícil saber qué está sucediendo sin una reproducción. http://gatsby.dev/reproduction

@KyleAMathews Honestamente, creo que esto sucede en todos los sitios de Gatsby implementados en Netlify que tienen varias páginas. Lanza Sentry en uno y compruébalo por ti mismo.

Yo diría que esta declaración es un poco prematura ya que, por ejemplo, todos mis proyectos de Gatsby se implementan en Netlify y nunca he visto el error (en los últimos meses). Una reproducción sería realmente útil.

@LekoArts @marcysutton El rastro de Sentry todavía está disponible públicamente aquí .

¿Eso ayuda en absoluto?

El error ocurre en mi sitio de producción aproximadamente una vez al día.

Yo diría que esta declaración es un poco prematura ya que, por ejemplo, todos mis proyectos de Gatsby se implementan en Netlify y nunca he visto el error (en los últimos meses). Una reproducción sería realmente útil.

@lekoarts ¿Tiene configuración Sentry? Cuanto trafico?

El error ocurre en mi sitio de producción aproximadamente una vez al día.

@Jivings ¿Cuánto tráfico? Estoy tratando de hacerme una idea de la frecuencia.

Lo mejor que puedo decir, he detectado 541 instancias de este error desde el 1 de marzo en 160.000 páginas vistas (47.000 sesiones) en un sitio web que mantengo. Eso es un 0.3% de probabilidad de que una página vista active el comportamiento, o un 1.2% de probabilidad de que una sesión lo experimente. No muy bien en lo que respecta a las reproducciones; Es probable que necesitemos rastreos anticuados, investigación y otras depuraciones para descubrir esto.

Es más común en dispositivos móviles, pero la mayoría de sus visitas son desde dispositivos móviles y también ocurre en computadoras de escritorio. La marca / modelo / navegador parece ser irrelevante. Por lo que vale, esta es una plataforma de transmisión de audio, por lo que tendemos a ver duraciones de sesión mucho más largas que los sitios web que están enfocados en marketing o ven mucho tráfico de entrada y salida.

¿Alguien está viendo este error en producción _sin_ usar Sentry? ¿Alguien usa Honeybadger, Raygun, Rollbar, Airbrake o similar?

@coreyward También viéndolo de forma intermitente con Raygun. Solo está en una página específica y solo afecta a Mobile Safari y Chrome.

@coreyward Usamos Bugsnag y lo hemos visto alrededor de 4.8k veces en el último mes.

@coreyward Quizás esto sea útil:

(de https://github.com/gatsbyjs/gatsby/issues/12399#issuecomment-480082161)

Usamos Bugsnag y vemos que esto representa aproximadamente el 1% del tráfico. Los navegadores parecen coincidir aproximadamente con nuestra distribución general del tráfico, sin ver ningún patrón claro allí.

@coreyward Parece afectar alrededor del 1% del tráfico para nosotros.

@KyleAMathews Hola, acabo de encontrar este error en el sitio web de producción de GatsbyJS. Después de refrescar un par de veces, el problema desapareció.

Screen Shot 2019-05-24 at 6 02 32 PM

Nos hemos enfrentado a este problema al usar el complemento sin conexión y la implementación en Azure Blob Storage más la CDN. Estaba leyendo que el service worker js no debe recibir servicio desde la CDN y debe provenir directamente del dominio del servidor. Puede ser que esa sea la causa raíz.

Tenemos ers-hcl.github.io que está implementado con el complemento sin conexión y el trabajador de servicio habilitado en ghpages. Nunca enfrenté este problema allí, lo que probablemente apunta a mi comentario anterior en términos de que el problema está relacionado con el manejo de CDN del complemento sin conexión

este problema no tiene nada que ver con el complemento sin conexión. Y si está utilizando el complemento sin conexión, asegúrese de volver a cargar o mostrar una notificación de inserción a los usuarios de que hay nuevo contenido disponible para actualizar el software.

@smakosh cada vez que deshabilitamos el complemento sin conexión, este problema desaparece para nosotros.

Lo estamos viendo y no usamos el complemento sin conexión.

  • Puedo estar equivocado: una observación en el archivo ensure-resources.js , que es el componente que arroja este error, pero pensé en mencionarlo por si acaso.
  • Mirando el código para ensure-resources.js , parece estar usando window.location en la línea no 81, donde como hay una propiedad location que se está utilizando en este componente en todos los otros lugares.

image

Dudo que nuestra situación particular sea de ayuda para muchas otras personas, pero quería compartirla aquí por si acaso.

Esto estaba afectando a DataCamp.com debido a un problema de CORS. Estamos utilizando activos de alojamiento y prefijo de activos en S3, servidos a través de Cloudfront. Durante nuestra primera implementación con prefijos de activos, olvidamos configurar los encabezados CORS en S3 para permitir el acceso a los activos de nuestro dominio (oops). Actualizamos nuestros encabezados CORS después de un minuto o dos, pero cualquier nodo de borde donde ya se llamaron los activos aparentemente almacenaba en caché no solo el contenido del activo sino también los encabezados CORS. Esto creó la ilusión de que un error extraño afectaba solo a un pequeño porcentaje de usuarios, cuando en realidad el problema era que un pequeño porcentaje de nodos de borde tenía los encabezados antiguos en caché. Resolvimos este problema creando una invalidación en Cloudfront para todos los activos.

De manera más general: si alguno de sus usuarios tiene un bloqueador de anuncios que detecta un nombre de activo en particular como potencialmente relacionado con la publicidad o el seguimiento, si en algún punto entre su servidor de activos y el usuario final hay un intermediario que podría estar modificando los encabezados para un pequeño porcentaje de sus usuarios (por ejemplo, una red corporativa que filtra contenido), o si pudiera estar sucediendo cualquier otra cosa extraña en la red, parece que todo esto podría contribuir a este error.

Tuvimos este mismo problema y resulta que la razón principal detrás de esto fueron las dependencias circulares

@bigfanjs, ¿ podrías entrar en un poco más de detalle allí?

@DSchau Bueno, recientemente un compañero de equipo agregó una función y la implementamos, el navegador comienza a quejarse con un problema similar, no teníamos una idea, mi compañero de equipo creó una página y un gran componente reutilizable común. Así que comentamos el código tanto en la página como en el componente, y más bien representamos una etiqueta <div /> . Y ejecutó gatsby build y luego gatsby serve para construir la producción del servidor localmente. y comenzamos a reducir comentando algún código y ejecutando los elogios anteriores cada vez. me gusta:

import {Button} from "components/kit"

// comment the rest to see if `Button` is causing the issue
// import {Box} from "components/kit"
// import {Form} from "components/kit" 

la próxima vez que comentemos Box y así sucesivamente ...

Así que finalmente resulta que el error es simple.

Tenemos un componente común llamado kit que importa un par de componentes:

componentes / kit

| --- Box.js
| --- Button.js
| --- Form.js
| --- index.js

index.js

export { default as Box } from "./Box"
export { default as Button } from "./Button"
export { default as Form } from "./Form"

por ejemplo, dentro de Form estábamos tratando de importar Box esta manera:
import {Box} from "components/kit"

Pero eso causa el problema, lo cambiamos algo como:
import {Box} from "./Box"

Y funcionó.

Espero que ayude.

El mismo problema aquí, ver esto periódicamente en sitios web que no he visitado durante unos días (el sitio web de Gatsby también). No en IE11 sino en Chrome. Después de unos segundos de página en blanco, hay una actualización después de la cual todo vuelve a funcionar.

Versiones de un ejemplo:
gatsby : 2.0.118
gatsby-plugin-offline : 2.0.23

Tuve un error similar con este. Y no pude acceder a la página de administración de netlify cms en la compilación de producción.
Y descubrí que esto se debe a que finalmente no coinciden las versiones de gatsby y gatbsy-plugin-offline.
¡¡¡Pulgares hacia arriba!!!

Para las personas que ven este error ocasionalmente, eso es de esperar, cada vez que implementa una nueva versión de su sitio, la mayoría de los hosts eliminan versiones anteriores del sitio, lo que significa que cualquier persona que ya esté en el sitio que intente navegar a una página no lo hará. poder encontrar los recursos para esta página, por lo que arrojará este error y luego activará una actualización completa al tomar el HTML de nuevo para la página.

Puede ver las pruebas para esto aquí: https://github.com/gatsbyjs/gatsby/blob/cbbed1dde8a4fd25080e9ab65d7661dfa8fbf327/e2e-tests/production-runtime/cypress/integration/resource-loading-resilience.js#L57

@KyleAMathews Parece que la actualización no se activa por este error de recursos faltantes, por lo que un usuario está atascado en una página rota o simplemente en blanco. ¿Necesitamos tener el complemento fuera de línea para asegurarnos de que se realice la actualización?

No ... si eso está sucediendo, entonces es un error en Gatsby. ¿Tenemos una reproducción del escenario que estás describiendo?

-
Kyle Mathews

Blog: http://bricolage.io
Gorjeo: http://twitter.com/kylemathews

El martes, 4 de junio de 2019 a las 3:05 p.m., Jack <[email protected]> escribió:

@ KyleAMathews (https://github.com/KyleAMathews) Aparece la actualización
no se activa por este error de recursos faltantes, por lo que un usuario está atascado
en una página rota o simplemente en blanco. ¿Necesitamos tener el complemento fuera de línea para
asegurarse de que ocurra la actualización?

-
Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub (
https://github.com/gatsbyjs/gatsby/issues/11524?email_source=notifications&email_token=AAARLB6OVB47GMB5K2242M3PY3RLFA5CNFSM4GUAYCZKYY3PNVWWK3TUL52HS4DFVREXWHG43WTZMVDFVREXWG43WZMVD
), o silenciar el hilo (
https://github.com/notifications/unsubscribe-auth/AAARLB7QKXUL3AZF4MXCO33PY3RLFANCNFSM4GUAYCZA
).

@KyleAMathews Aparte de detectarlo impredecible en nuestro sitio de producción, no he podido reproducirlo localmente. Una reproducción requeriría configurar un repositorio completamente nuevo con integración de Netlify, luego seguir presionando actualizaciones hasta que finalmente lo encuentre.

Parece que @coreyward lo atrapó en el sitio de Gatsby más arriba en los comentarios.

También es relevante para esta discusión que @Moocar ha estado trabajando en una gran refactorización de cómo https://github.com/gatsbyjs/gatsby/pull/13004

No tengo una reproducción en este momento, pero puedo confirmar que he visto esto al menos media docena de veces en las que no se actualizó por sí solo.

@KyleAMathews , estamos viendo que esto le sucede al 1% de las solicitudes en todos los navegadores, completamente independiente de cuándo implementamos; veremos que sucede los domingos al mismo ritmo, incluso cuando la última implementación fue el viernes. Aquí hay una captura de pantalla de bugsnag para ilustrar la consistencia relativa a lo largo del tiempo (por supuesto, todavía una pequeña cantidad de bultos debido a la variación normal del tráfico):

image

@gwlortscher es muy interesante, por lo que no parece estar relacionado con las implementaciones. Parece que este gráfico muestra los recuentos del error. ¿Podría compartir un gráfico con el porcentaje de solicitudes? ¿Eso supongo que no varía con el tráfico?

Solo para agregar una posible causa:
En mi caso, fue un new Buffer(val, 'base64').toString(); como reemplazo de atob en SSR.
(Básicamente, si atob no está disponible, use la versión node-js).
Trabajó en desarrollo, compilado correctamente, falló al iniciar la página de prod. Además, la inclusión fue suficiente, el código nunca se ejecutó, solo estaba presente en el fragmento que se cargaría al inicio.

@KyleAMathews Bugsnag no parece tener un gráfico de% de solicitudes, pero es bastante fácil de calcular a partir de análisis. Estos son los últimos 8 días (errores como porcentaje de solicitudes):

6/1 2,4%
6/2 2,3%
6/3 2,2%
6/4 2,4%
6/5 2,4%
6/6 2,1%
6/7 2,4%
6/8 2,4%

Vimos que esto sucedió por primera vez al actualizar a Gatsby v2.9.4. Revertir a 2.8.5 resolvió el problema. Sigo intentando analizar la causa.

Tuvimos este mismo problema y también lo solucionamos rebajando a 2.8.5. Antes de hacerlo, recibíamos constantemente errores de recursos faltantes para "/"

@bmatzner @wilcoxmd Hemos estado en 2.8.x por un tiempo, y hemos tenido recursos faltantes en cada actualización de Gatsby desde que pasamos por primera vez de la v1 a la v2. Constantemente, no hay picos ni cambios al actualizar desde v2.

Definitivamente lo hemos estado viendo durante mucho tiempo antes de 2.8.5. Creo que este problema tiene una amplia variedad de causas. La v2.94 parece haber introducido otro.

@bmatzner @wilcoxmd Hemos estado en 2.8.x por un tiempo, y hemos tenido recursos faltantes en cada actualización de Gatsby desde que pasamos por primera vez de la v1 a la v2. Constantemente, no hay picos ni cambios al actualizar desde v2.

Mismo

@jackhair ya veo. Todavía no hemos lanzado nuestro sitio de Gatsby, por lo que no sé si todavía veremos algún porcentaje del tráfico con este problema. Encontramos esto al implementar una versión provisional. Estábamos en 2.9.2 y las cosas estaban bien con el servicio de una compilación localmente, pero tan pronto como la implementamos, tuvimos un error permanente de recursos faltantes en cualquier navegador. La degradación a 2.8.5 solo me permitió implementar y hacer que el sitio comenzara a funcionar.

@jackhair ya veo. Todavía no hemos lanzado nuestro sitio de Gatsby, por lo que no sé si todavía veremos algún porcentaje del tráfico con este problema. Encontramos esto al implementar una versión provisional. Estábamos en 2.9.2 y las cosas estaban bien con el servicio de una compilación localmente, pero tan pronto como la implementamos, tuvimos un error permanente de recursos faltantes en cualquier navegador. La degradación a 2.8.5 solo me permitió implementar y hacer que el sitio comenzara a funcionar.

Interesante. Por lo que vale, nunca hemos podido replicar el problema localmente (desarrollo de gatsby), solo cuando está construido en un entorno de producción vemos el problema.

Tenemos una rama de producción en 2.9.2 que parece prometedora, hasta ahora sin problemas, pero el tráfico es minúsculo en comparación con la producción principal. Publicaré los resultados una vez que los hayamos implementado, con la esperanza de que la actualización del manifiesto de la página a Gatsby la semana pasada ayude mucho.

Tenemos 2.9.0 en producción y, lamentablemente, seguimos viendo el problema al mismo ritmo que antes: 1-2% del tráfico en todos los navegadores.

La versión retrocedida a 2.8.5 de 2.9.4 parece haber solucionado el problema.
En nuestro caso, parece estar relacionado con algunos archivos pages-manifest-{hash}.js[.map] faltantes.
Las versiones 2.9.3 y 2.9.4 tienen algunos posibles cambios importantes: consulte https://github.com/gatsbyjs/gatsby/pull/14732 (de los registros de cambios del paquete Gatsby: https://github.com /gatsbyjs/gatsby/blob/master/packages/gatsby/CHANGELOG.md).
Para confirmar esto, una última prueba para nosotros debería ser actualizar Gatsby hasta 2.9.2 .

FYI @moocar tiene un PR para hacer que la carga de recursos sea más robusta, por ejemplo, reintentar los recursos fallidos o parcialmente cargados https://github.com/gatsbyjs/gatsby/pull/14889

Si alguno de ustedes tiene tiempo para revisar / probar eso, sería muy apreciado. Me disculpo por no haberme dado cuenta de esto antes; no estaba claro qué tan extendido estaba esto o cuál era la causa antes de indagar recientemente con

No sé si ayudará más, pero lo tenía en https://gatsbyjs.org/contributing hace unos minutos:

Screenshot 2019-06-19 at 17 04 17

Se solucionó después de una recarga, pero parecía que valía la pena ponerlo aquí @KyleAMathews

Creo que esto podría ser un problema con la configuración del complemento fuera de línea, ya que es posible que no verifique correctamente los cambios con los archivos de manifiesto de la página y, por lo tanto, mantenga los antiguos.

Voy a probar y ver esto la próxima semana con @wardpeet, ya que escribí muchos de los complementos fuera de línea; lamentablemente, he estado muy ocupado recientemente con los exámenes y planeando mudarme de casa, por lo que no he podido ver todos estos cambia correctamente 😞

@ davidbailey00 Antes de profundizar demasiado en la depuración, experimentamos esto con o sin el complemento fuera de línea.

@ davidbailey00 también tuvimos el problema sin el complemento fuera de línea. Está en mis módulos de nodo, pero aún está comentado en mi archivo de configuración.

También estamos experimentando esto sin el complemento sin conexión instalado.

@ davidbailey00 sí, creemos que la solución principal es manejar correctamente algunos casos de error inusuales para solicitudes ajax y agregar lógica de reintento https://github.com/gatsbyjs/gatsby/pull/14889

¡Hemos implementado el PR en gatsbyjs.org durante los últimos ~ 4-5 días y las cosas se ven realmente bien! No ha habido nuevos eventos de "recursos faltantes" desde la implementación.

https://github.com/gatsbyjs/gatsby/pull/14889#issuecomment -505872897

@wardpeet está trabajando en algunas pruebas para simular problemas de red, pero deberíamos tener esto en las próximas 24 horas.

¡Gracias @KyleAMathews no puedo esperar para que esto funcione!

@KyleAMathews ¡ gracias a ti y a tu equipo por esa actualización!

@KyleAMathews Tengo este problema que todavía ocurre en mi sitio. localmente funciona bien y en prod no. Además, lo veo el 100% del tiempo, no esporádicamente como algunos de los comentarios anteriores. Dicho esto, he examinado la mayoría de las soluciones y su uso no ha resultado en una solución. ¿Tiene una versión específica de Gatsby que tenga la solución para que pueda asegurarme de que estoy haciendo algo diferente?

Estoy dispuesto a compartir URL de forma privada, así como agregar acceso contrib al repositorio privado si alguien del equipo de gatsby quiere echar un vistazo (DM me en twitter ). Gracias por cualquier consejo / sugerencia; para que quede claro, las cosas que he probado son:

  • Agregar la recarga del trabajador de servicio en gatsby-browser.js
  • Eliminar el complemento sin conexión
  • Actualizar todos los módulos de nodo
  • Asegurarse de que las importaciones no sean referenciadas usando .

Deberíamos solucionar este problema en la última versión de gatsby [email protected] . Lo hemos ejecutado en gatsbyjs.org y los errores desaparecieron para nosotros.

Actualice y avísenos si hay más problemas. Cerrando esto por ahora.

@KyleAMathews Gracias - Lo hice, desafortunadamente esto no lo solucionó, aunque creo que es algo más, ya que el error de Recursos faltantes desapareció, pero el problema principal sigue ahí, así que presenté el número 15322

@KyleAMathews Gracias - Lo hice, desafortunadamente esto no lo solucionó, aunque creo que es algo más, ya que el error de Recursos faltantes desapareció, pero el problema principal sigue ahí, así que presenté el número 15322

No obtendremos Recursos faltantes porque fue eliminado y reemplazado con un error diferente: https://github.com/gatsbyjs/gatsby/pull/14889/files#diff -3182dbe2979ea0744c50242668edc572L173

Recientemente implementamos esta solución, revisando los registros de errores para ver si hay errores nuevos / diferentes.

EDITAR: sí parece que this.loadPageDataJson(...).then(...).finally is not a function es el nuevo missing resources

@jackhair ¿en qué navegador estás probando? Estoy bastante seguro de que finalmente agregamos un polyfill. Aunque podría estar equivocado.

¿Te importaría compartir tu repositorio? o una pequeña reproducción?

@jackhair ¿en qué navegador estás probando? Estoy bastante seguro de que finalmente agregamos un polyfill. Aunque podría estar equivocado.

¿Te importaría compartir tu repositorio? o una pequeña reproducción?

Estamos viendo esto en varios navegadores en producción:

Screen Shot 2019-07-02 at 13 29 03

¿Te importaría compartir la URL de tu sitio web para que pueda echarle un vistazo y tal vez depurarlo un poco?

¿Te importaría compartir la URL de tu sitio web para que pueda echarle un vistazo y tal vez depurarlo un poco?

¡Por supuesto! https://ritual.com

@jackhair Puedo confirmar el error. ¿Podrías hacer un nuevo problema con la información proporcionada anteriormente?

@wardpeet @jackhair también estamos recibiendo este problema de finally polyfill, ¿hay un nuevo problema agregado? ¿Puede referirse a este por favor?

@eknowles @wardpeet Lo siento,

@wardpeet @jackhair Me las arreglé para rastrear nuestro problema con el polyfill finalmente.

Descubrimos que una de nuestras dependencias incluía babel-polyfill con useBuiltins: uso en lugar de entrada.

De cualquier manera, tuvimos que degradar redux-api-middleware (no relacionado con gatbsy).
https://github.com/agraboso/redux-api-middleware/compare/v2.3.0...v3.0.0

esto resolvió nuestro error finally . Recomendaría seguir el seguimiento de la pila en la cadena y ver qué lib es el culpable, ya que el polyfill de Promise podría estar siendo anulado pero una lib desagradable.

Gracias, hemos visto esto antes con node_modules y babel-runtime. Tendré que repensar cómo podemos solucionar esto en el futuro o al menos dar un mensaje de error adecuado.

¿Fue útil esta página
0 / 5 - 0 calificaciones