Gatsby: Recursos ausentes para /

Criado em 3 fev. 2019  ·  112Comentários  ·  Fonte: gatsbyjs/gatsby

Resumo

Periodicamente, em meu site de produção, vejo o seguinte erro;

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)

Parece que às vezes isso faz com que o site não seja renderizado e apenas mostre uma página em branco.

Informação relevante

Você pode ver o traço no Sentry aqui

Meio Ambiente (se relevante)

Este é o ambiente no qual o site foi construído;

  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

Não tenho ideia por onde começar a depurar isso, então qualquer ajuda é apreciada!

needs reproduction question or discussion

Comentários muito úteis

@wardpeet está trabalhando em alguns testes para simular problemas de rede, mas devemos resolver isso nas próximas 24 horas.

Todos 112 comentários

Talvez, embora não haja 404 coisas envolvidas aqui.

Desculpe você ver isso, @Jivings

Você poderia criar um link para uma reprodução mínima, se possível?

Não consegui reproduzir localmente 🙁 Posso obter mais alguma informação ou o relatório da sentinela ajuda de alguma forma? Em que circunstâncias isso pode ocorrer para que eu possa restringi-lo?

Também estou vendo isso, mas só depois da implantação, não consigo reproduzir 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)

No entanto, notei que só recebo esse erro em um branch onde tentei remover ThemeProvider (styled-components) do meu código e estou supondo que em algum lugar as coisas ficaram bagunçadas na estrutura do arquivo porque nenhum pacote foi adicionado / atualizado / removido. Vou atualizar se eu identificar a causa, mas não há muito a dizer.

Estou tendo o mesmo problema aqui ... primeiro, desculpe pelo meu inglês, sou falante de espanhol ¯_ (ツ) _ / ¯

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)

Em primeiro lugar, um pouco de contexto, tive um problema relacionado a um pacote de carrossel Tiny Slider que estava usando window , então eu procurei por carrosséis diferentes com SSR implementado e encontrei carrossel reativo-responsivo . Funciono muito bem com o que preciso, mas apenas em develop .

O erro mencionado ocorre em dois cenários relacionados:

Cenário 1
Eu uso componentes estilizados para estilizar meu slide, mas adicionar mixins quebrou minhas construções. Descobri que adicionar gatsby-plugin-styled-components resolveu o problema; e funciona, mas ... o cenário 2 aconteceu

Cenário 2
Agora minha construção está funcionando e posso ver minha página com estilos. Mas, meu carrossel não funciona, não faz nada !!! 😱 ... Os estilos parecem ótimos ... 😅
Então, acabei de remover gatsby-plugin-styled-components e o script funcionou novamente, mas não meus estilos 🙃

Espero que isso dê algumas dicas para encontrar e resolver o problema

Oi pessoal.

Não tenho certeza se isso ajuda, mas tive um problema semelhante. Acontece que meu recurso ausente era uma variável env ausente (produção) para o firebase. Isso, por sua vez, pareceu afetar minhas imagens - isso deve ter tido um impacto em uma etapa de construção

Pode fornecer mais informações se necessário ...

@Jivings você pode atualizar o pacote gatsby e gatsby-plugin-offline? isso acontece quando você faz uma nova construção, mas os recursos anteriores não estão mais disponíveis (portanto, o html armazenado em cache pelo plug-in offline tenta usar recursos não disponíveis). Em versões mais recentes de pacotes gatsby / offline, adicionamos reload após as atualizações do service worker para não deixar o site em estado inutilizável

No meu caso, alterei uma importação de import { Link } from './' para import { Link } from './Link' (no meu arquivo /components/footer.js ) e corrigiu o erro "Recursos ausentes para /". Era uma dependência circular, eu acho. Mas não sei se vai consertar o seu
Edit: Se o erro acontecer periodicamente, acho que a solução de @pieh acima tem melhores chances de corrigi-lo.

Estou recebendo esses erros, mas apenas no IE11. Não tenho certeza de quais recursos estão falhando, já que estão ocorrendo apenas em um navegador, pelo que posso dizer, mas vejo alguns erros no react-dom (veja as capturas de tela abaixo). Eu atualizei todas as minhas dependências de Gatsby para suas versões mais recentes e adicionei um polyfill no caso de estar engasgando com o Symbol ou algo muito moderno, mas os erros ainda ocorrem. Também tenho problemas de carregamento de imagens no IE11, acredito que seja como discutido em # 4021. Se eu remover todas as imagens e o plugin offline, não recebo erros no carregamento da página, mas sim quando navego para qualquer outra página, mesmo que não contenha imagens. Parece que algum JS falha ao carregar e o IE apresenta provavelmente a página HTML 404. Então, definitivamente há algo estranho acontecendo aqui.

Estou trabalhando em minha filial de desenvolvimento implantada no Netlify para testar correções em vários dispositivos.
Aqui está a versão de depuração mais recente, se você quiser testá-la: https://5c6ee3b943e6c400080a5a8b--marcysutton.netlify.com/about/
Aqui está meu site ao vivo, que definitivamente ainda tem todas as funcionalidades do IE11: https://marcysutton.com
E aqui está a fonte do meu site: https://github.com/marcysutton/gatsby-site

Aqui estão algumas capturas de tela da minha VM:

stack trace
script errors in console
react-dom looks related

@marcysutton Você fez algum progresso com isso? Estou vendo a mesma coisa apenas no IE11. Sem problemas em nenhum outro navegador.

Ainda não! @sidharthachatterjee ou @pieh , essa informação é suficiente para depurar? Problema de bloqueio bonito no IE11 no momento.

@Undistraction Tenho uma boa notícia: a equipe me ajudou a depurar esse problema e apontou que o IE11 está tendo problemas com funções de seta não compiladas em um plugin ( gatsby-background-image ). Eles estão discutindo mudanças no núcleo do Gatsby para dar conta disso, mas enquanto isso você deve ser capaz de contornar isso compilando quaisquer plug-ins que estejam causando problemas: https://www.gatsbyjs.org/packages/gatsby-plugin- compile-es6-packages /? = compile

Foi aqui que o usei em meu site: https://github.com/marcysutton/gatsby-site/blob/develop/gatsby-config.js#L107

Informe-nos se ainda tiver problemas!

O mesmo problema aqui, vendo isso periodicamente em sites que não visito há alguns dias (o site de Gatsby também). Não no IE11, mas no Chrome. Após alguns segundos de página em branco, há uma atualização, após a qual tudo está funcionando novamente.

Versões de um exemplo:
gatsby : 2.0.118
gatsby-plugin-offline : 2.0.23

Estou recebendo este erro no IE (modo de borda).

Ele está apontando para o arquivo react-dom.production.min.js na linha 1 char 195183.

ao clicar no erro no IE ele aponta para este código:

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

@marcysutton Obrigado pela atualização. Eu não tinha detectado esse erro de sintaxe em seu console. Para nós, não temos erro algum. A navegação da página é completamente quebrada no IE11, e a página não hidrata. Em uma atualização de página, obtemos o erro de recursos ausentes. Tivemos que abandonar o suporte ao IE11 porque não havia nada para seguir. Sem problemas com qualquer outro navegador. Meu palpite é que se trata de um problema de polyfill, mas que o erro está sendo engolido em algum lugar, mas isso é apenas um palpite. Não entendo como a hidratação da página pode travar sem nenhum erro no console.

Estou recebendo este erro na (1ª) carga. Parece limpar após a recarga. Produção / hospedagem Firebase.
Error: Missing resources for /

@rkhayat você poderia criar um link para uma URL ou, melhor ainda, fornecer uma reprodução ?

Obrigado!

FWIW, escrevi minha experiência com esse problema em https://github.com/gatsbyjs/gatsby/issues/12399 . Pode ser útil para qualquer pessoa que acertar o erro Missing resources for / .

Eu estava tendo o que parecia ser um problema semelhante: alguém poderia navegar pelo site sem problemas, mas em qualquer página, se eles fizessem uma atualização, a página ficaria em branco e eu veria Error: Missing resources for /<path> . Uma atualização total ou limpeza do cache recarregaria a página, mas, novamente, as atualizações normais mostrariam uma página em branco.

Não sendo capaz de reproduzir isso localmente com gatsby server , suspeitei que era um problema de CDN, então invalidei o diretório raiz em minha distribuição do CloudFront, que parece ter resolvido esse problema para mim. Ainda não tenho certeza do que exatamente estava acontecendo, mas suspeito que algumas referências ficaram desatualizadas. Espero que isso ajude mais alguém.

Hiya!

Este problema ficou quieto. Silêncio assustador. 👻

Temos muitos problemas, então atualmente fechamos os problemas após 30 dias de inatividade. Já se passaram pelo menos 20 dias desde a última atualização aqui.

Se perdemos esse problema ou se você deseja mantê-lo em aberto, responda aqui. Você também pode adicionar o rótulo "não obsoleto" para manter este problema aberto!

Obrigado por fazer parte da comunidade Gatsby! 💪💜

@ gatsbyjs-read-only-user Não obsoleto 😬

@Undistraction Tenho uma boa notícia: a equipe me ajudou a depurar esse problema e apontou que o IE11 está tendo problemas com funções de seta não compiladas em um plugin ( gatsby-background-image ). Eles estão discutindo mudanças no núcleo do Gatsby para dar conta disso, mas enquanto isso você deve ser capaz de contornar isso compilando quaisquer plug-ins que estejam causando problemas: https://www.gatsbyjs.org/packages/gatsby-plugin- compile-es6-packages /? = compile

Foi aqui que o usei em meu site: https://github.com/marcysutton/gatsby-site/blob/develop/gatsby-config.js#L107

Informe-nos se ainda tiver problemas!

@marcysutton Como você identificou os plug-ins / módulos que contêm funções de seta não compiladas?

@onetwothreebutter abra o (s) arquivo (s) JavaScript compilado (s) no navegador e pesquise => . O IE não tornou fácil saber de onde eles estavam vindo, então eu apenas procurei manualmente com "Ctrl + F"

Isso deve melhorar no core com o tempo, mas é assim que você pode verificar enquanto isso!

Gostaria de acrescentar que este problema persiste para nós em todos os navegadores e versões, não é apenas o IE, e parece ser acionado usando um Service Worker em Gatsby. Relacionado: # 12399

Eu também enfrentei o mesmo problema.

  • Se o service worker estiver habilitado, a atualização das páginas causa os erros mencionados acima. Este problema estava aparecendo principalmente no Chrome. O navegador Edge parece funcionar bem (provavelmente porque o service worker não entra em jogo nele)
  • Ao remover o service worker e usar o plugin gatsby-plugin-remove-serviceworker este problema desaparece
    Resolução usada:
  • No entanto, dada a importância de ter o servidor de trabalho funcional testado o plugin gatsby-plugin-remove-trailing-slashes em combinação com o plugin PWA gatsby-plugin-offline e isso parece resolver o problema para mim.

Estou tendo este erro e não estou usando um service worker.
Eu estava pensando que talvez isso aconteça se a página carrega com uma determinada versão do site e, em seguida, uma implantação é feita e os nomes dos ativos mudam para que não possam ser encontrados pela versão aberta?
Além disso, a versão que causou o Erro no Sentry não é a versão que estava ativa no momento do Erro.

@antoinerousseau Sim, depois de algumas tentativas de tentar consertar, ainda conseguimos mesmo sem o SW. Atualizamos alguns plug-ins Gatsby para versões recentes e isso reduziu a contagem de erros, mas não para 0. (Pode ser coincidência, no entanto)

@KyleAMathews Você tem visto isso ou tem alguma informação?

@jackhair é difícil dizer o que está acontecendo sem uma reprodução. http://gatsby.dev/reproduction

@smakosh Não estou usando service workers.

O plugin offline está usando-o

Ok, mas o que quero dizer é que o bug acontece mesmo sem esse plugin.

Você pode verificar se cancelou o registro do SW, pois talvez já o tenha usado antes, tente limpar o cache Gatsby excluindo as pastas public e .cache

Nunca usei nenhum SW nesse projeto. (e apenas verifiquei para o caso)
public e .cache são sempre recriados pelo Netlify.
Erros estão sendo relatados na produção pelo Sentry.
https://sentry.io/share/issue/738b234836814442b7702866c6814fdf/

Seu projeto é de código aberto? se sim, você pode ligar abaixo, eu adoraria dar uma olhada e ver como posso consertar isso

Desculpe, não é, mas basicamente é um site de Gatsby servido pela 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"
  },

Estou vendo o plug-in offline instalado. Você pode confirmar se ele não está incluído no arquivo gatsby-config?

Sim, desculpe, mas não usado, aqui está minha configuração 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
  ],
}

E você pode vê-lo ao vivo em https://lebikini.netlify.com

Não posso ajudar sem um repositório de reprodução, pois preciso verificar mais coisas para depurar

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

@abumalick @antoinerousseau Movemos gatsby-plugin-netlify para o final de nosso array de plugins e não mudou nada.

Talvez isso tenha algo a ver com isso? https://github.com/gatsbyjs/gatsby/issues/11982

Sempre que me deparo com o problema (puro acaso), sempre há algum tipo de erro a ver com falta de manifesto de páginas.

Descrevi a única correção que funciona em todos os casos de um problema relacionado aqui: https://github.com/gatsbyjs/gatsby/issues/12399#issuecomment -488247566

Eu tive o mesmo problema. Meu caso era o mesmo que @ efd1 - a importação na forma de import { Module } from "." estava interrompendo minha compilação de produção (o desenvolvimento estava funcionando sem nenhum problema). Não foi muito fácil depurar e encontrar, infelizmente.

image

As sugestões acima não parecem funcionar para mim. Estou vendo isso apenas para usuários iOS e apenas esporadicamente. Não consigo replicar e, portanto, é difícil descobrir o que pode estar errado. Alguma dica sobre como descobrir qual pode ser o problema subjacente?

Para repetir a declaração de Kyle acima, precisamos de sites de demonstração reproduzíveis para poder ajudar. http://gatsby.dev/reproduction

é difícil dizer o que está acontecendo sem uma reprodução. http://gatsby.dev/reproduction

@KyleAMathews Honestamente, acho que isso acontece em todos os sites do Gatsby implantados no Netlify com várias páginas. Jogue Sentry em um e veja por si mesmo.

Eu diria que esta declaração é um pouco prematura, por exemplo, todos os meus projetos Gatsby são implantados no Netlify e eu nunca vi o erro (nos últimos meses). Uma reprodução seria realmente útil.

@LekoArts @marcysutton O rastreamento do Sentry ainda está publicamente disponível aqui .

Isso ajuda em alguma coisa?

O erro ocorre no meu site de produção aproximadamente uma vez por dia.

Eu diria que esta declaração é um pouco prematura, por exemplo, todos os meus projetos Gatsby são implantados no Netlify e eu nunca vi o erro (nos últimos meses). Uma reprodução seria realmente útil.

@lekoarts Você configurou o Sentry? Quanto tráfego?

O erro ocorre no meu site de produção aproximadamente uma vez por dia.

@Jivings Quanto tráfego? Estou tentando ter uma ideia da frequência.

Tanto quanto posso dizer, peguei 541 ocorrências desse erro desde 1º de março em 160 mil visualizações de página (47 mil sessões) em um site que mantenho. Essa é uma chance de 0,3% de uma exibição de página acionar o comportamento, ou uma chance de 1,2% de uma sessão experimentá-lo. Não é ótimo no que diz respeito às reproduções; provavelmente precisaremos de rastros antiquados, investigações e outras depurações para descobrir isso.

É mais comum em dispositivos móveis, mas a maioria das visitas é feita em dispositivos móveis e também acontece no computador. Marca / modelo / navegador parece ser irrelevante. Pelo que vale a pena, esta é uma plataforma de streaming de áudio, então tendemos a ver durações de sessão muito mais longas do que sites que são focados em marketing ou têm muito tráfego de entrada e saída.

Alguém está vendo esse erro na produção _sem_ usando o Sentry? Alguém usando Honeybadger, Raygun, Rollbar, Airbrake ou similar?

@coreyward Também o vejo intermitentemente com Raygun. É apenas em uma página específica e efeitos Mobile Safari e Chrome apenas.

@coreyward Usamos o Bugsnag e o vimos cerca de 4,8k vezes no mês passado.

@coreyward Talvez isso seja útil:

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

Nós usamos o Bugsnag e estamos vendo isso em cerca de 1% do tráfego. Os navegadores parecem corresponder aproximadamente à nossa distribuição geral de tráfego - não vendo nenhum padrão claro.

@coreyward Parece afetar cerca de 1% do tráfego para nós.

@KyleAMathews Ei, acabei de encontrar este erro no site de produção do GatsbyJS. Depois de atualizar algumas vezes, o problema foi embora.

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

Temos enfrentado esse problema ao usar o plug-in offline e a implantação no armazenamento de blob do Azure mais o CDN. Eu estava lendo que o service worker js não deve ser atendido pelo CDN e deve vir diretamente do domínio do servidor. Pode ser essa a causa raiz.

Temos ers-hcl.github.io que é implantado com o plug-in off-line e o service worker habilitado no ghpages. Nunca enfrentamos esse problema lá, que provavelmente aponta para meu comentário anterior em termos do problema relacionado ao tratamento de CDN do plug-in off-line

esse problema não tem nada a ver com o plugin offline. E se você estiver usando o plug-in offline, certifique-se de recarregar ou mostrar uma notificação push aos usuários de que o novo conteúdo está disponível para atualizar o SW.

@smakosh sempre que desabilitamos o plugin offline, este problema desaparece para nós.

Estamos vendo isso e não usamos o plugin offline.

  • Posso estar errado - uma observação no arquivo ensure-resources.js , que é o componente que gera esse erro, mas pensei em mencioná-lo apenas para garantir.
  • Olhando para o código de ensure-resources.js , parece estar usando window.location na linha nº 81, onde como há uma propriedade location que está sendo usada neste componente em todos os outros lugares.

image

Duvido que nossa situação particular seja útil para muitas outras pessoas, mas gostaria de compartilhá-la aqui apenas para garantir.

Isso estava afetando o DataCamp.com devido a um problema de CORS. Estamos usando prefixação de ativos e ativos de hospedagem no S3, servido via Cloudfront. Durante nossa primeira implementação com prefixo de ativo, esquecemos de definir cabeçalhos CORS no S3 para permitir o acesso aos ativos de nosso domínio (ops). Atualizamos nossos cabeçalhos CORS após um ou dois minutos, mas quaisquer nós de borda onde os ativos já foram chamados aparentemente armazenaram em cache não apenas o conteúdo do ativo, mas também os cabeçalhos CORS! Isso criou a ilusão de que algum bug estranho estava afetando apenas uma pequena porcentagem dos usuários, quando na realidade o problema era que uma pequena porcentagem de nós de borda tinha os cabeçalhos antigos armazenados em cache. Resolvemos esse problema criando uma invalidação no Cloudfront para todos os ativos.

De forma mais geral: se algum de seus usuários tiver um adblocker que está pegando um determinado nome de ativo como potencialmente relacionado a publicidade ou rastreamento, se em qualquer ponto entre seu servidor de ativos e o usuário final houver um intermediário que pode estar modificando cabeçalhos para um pequeno porcentagem de seus usuários (por exemplo, uma rede corporativa que filtra conteúdo), ou se qualquer outra coisa estranha de rede pode estar acontecendo, parece que tudo isso pode contribuir para esse erro.

Tivemos o mesmo problema e descobrimos que o principal motivo por trás disso eram dependências circulares

@bigfanjs você poderia entrar em mais detalhes aí?

@DSchau Bem, recentemente um colega de equipe adicionou um recurso e nós implantamos, o navegador começa a reclamar de um problema semelhante, não tínhamos ideia, meu colega de equipe criou uma página e um grande componente reutilizável comum. Portanto, comentamos o código na página e no componente e, em vez disso, renderizamos uma tag <div /> . E executou gatsby build e então gatsby serve para construir a produção do servidor localmente. e começamos a restringir comentando algum código e executando os elogios acima a cada vez. gostar:

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" 

da próxima vez que comentarmos Box e assim por diante ...

Então, finalmente, o erro é simples.

Temos um componente comum chamado kit que importa alguns 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 exemplo, dentro de Form , estávamos tentando importar Box desta forma:
import {Box} from "components/kit"

Mas isso causa o problema, mudamos algo como:
import {Box} from "./Box"

e funcionou.

espero que ajude.

O mesmo problema aqui, vendo isso periodicamente em sites que não visito há alguns dias (o site de Gatsby também). Não no IE11, mas no Chrome. Após alguns segundos de página em branco, há uma atualização, após a qual tudo está funcionando novamente.

Versões de um exemplo:
gatsby : 2.0.118
gatsby-plugin-offline : 2.0.23

Eu tive um erro semelhante com este. E não consegui acessar a página de administração do cms do netlify no build de produção
E descobri que isso é devido à incompatibilidade de versão de gatsby e gatbsy-plugin-offline, finalmente.
afirmativo!!!

Para as pessoas que veem esse erro ocasionalmente - isso é esperado na verdade - sempre que você implanta uma nova versão do seu site, a maioria dos hosts exclui as versões mais antigas do site, o que significa que qualquer pessoa que já esteja no site e tente navegar para uma página não será capaz de encontrar os recursos para esta página, portanto, apresentará este erro e, em seguida, acionará uma atualização completa capturando o HTML novamente para a página.

Você pode ver os testes para isso aqui: https://github.com/gatsbyjs/gatsby/blob/cbbed1dde8a4fd25080e9ab65d7661dfa8fbf327/e2e-tests/production-runtime/cypress/integration/resource-loading-resilience.js#L57

@KyleAMathews Parece que a atualização não está sendo acionada por esse erro de recursos ausentes, então um usuário está preso em uma página quebrada ou apenas em branco. Precisamos ter o plugin offline para garantir que a atualização aconteça?

Não ... se isso está acontecendo, é um bug em Gatsby. Temos uma reprodução para o cenário que você está descrevendo?

-
Kyle Mathews

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

Na terça-feira, 4 de junho de 2019 às 15h05, Jack <[email protected]> escreveu:

@ KyleAMathews (https://github.com/KyleAMathews) Parece que a atualização
não está sendo acionado por este erro de recursos ausentes, então um usuário está preso
em uma página quebrada ou apenas em branco. Precisamos ter o plugin offline para
garantir que a atualização aconteça?

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub (
https://github.com/gatsbyjs/gatsby/issues/11524?email_source=notifications&email_token=AAARLB6OVB47GMB5K2242M3PY3RLFA5CNFSM4GUAYCZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW6AHWI#issuecomment-498861017
), ou silenciar a conversa (
https://github.com/notifications/unsubscribe-auth/AAARLB7QKXUL3AZF4MXCO33PY3RLFANCNFSM4GUAYCZA
)

@KyleAMathews Além de pegar ou errar em nosso site de produção, não consegui reproduzi-lo localmente. Uma reprodução exigiria a configuração de um repo inteiramente novo com integração com o Netlify e, em seguida, continue enviando atualizações até que eventualmente você se deparar com isso.

Parece que @coreyward o pegou no site do Gatsby mais adiante nos comentários.

Também relevante para esta discussão é que @Moocar está trabalhando em um grande refator de como carregamos os dados no tempo de execução https://github.com/gatsbyjs/gatsby/pull/13004

Não tenho uma reprodução no momento, mas posso confirmar que vi isso pelo menos meia dúzia de vezes em que não atualizou sozinho.

@KyleAMathews , estamos vendo isso acontecer em 1% das solicitações em todos os navegadores, independentemente de quando implantamos - veremos acontecer aos domingos na mesma taxa, mesmo quando a última implantação foi na sexta-feira. Aqui está uma captura de tela do bugsnag para ilustrar a consistência relativa ao longo do tempo (é claro, ainda uma pequena quantidade de irregularidades da variação normal do tráfego):

image

@gwlortscher muito interessante - então não parece relacionado a implantações. Parece que este gráfico mostra contagens de erros. Você poderia compartilhar um gráfico com a% de solicitações? Isso eu suponho que não varia com o tráfego?

Apenas para adicionar uma possível causa:
No meu caso, foi new Buffer(val, 'base64').toString(); como um substituto para atob no SSR.
(Basicamente, se atob não estiver disponível, use a versão node-js.)
Trabalhou no desenvolvimento, compilou corretamente, travou na inicialização da página do produto. Além disso, a inclusão foi suficiente, o código nunca foi executado, apenas estava presente no trecho que seria carregado na inicialização.

@KyleAMathews Bugsnag não parece ter um gráfico de% de solicitações, mas é fácil de calcular a partir de análises. Aqui estão os últimos 8 dias (erros como porcentagem das solicitações):

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 isso acontecer pela primeira vez ao atualizar para o Gatsby v2.9.4. Reverter para 2.8.5 resolveu o problema. Ainda estou tentando analisar a causa.

Tivemos o mesmo problema e também o corrigimos fazendo o downgrade para 2.8.5. Antes de fazer isso, estávamos constantemente recebendo erros de Recursos ausentes para "/"

@bmatzner @wilcoxmd Estamos no 2.8.x há algum tempo e temos recursos ausentes em cada atualização do Gatsby desde que mudamos da v1 para a v2. De forma consistente, sem aumento ou alteração ao atualizar desde a v2.

Definitivamente, já vimos há muito tempo antes de 2.8.5. Acho que esse problema tem uma grande variedade de causas. v2.94 parece ter introduzido mais um.

@bmatzner @wilcoxmd Estamos no 2.8.x há algum tempo e temos recursos ausentes em cada atualização do Gatsby desde que mudamos da v1 para a v2. De forma consistente, sem aumento ou alteração ao atualizar desde a v2.

Mesmo

@jackhair entendo. Ainda não lançamos nosso site Gatsby, então não sei se ainda veremos algum percentual de tráfego para ver esse problema. Encontramos isso ao implantar uma versão de teste. Estávamos no 2.9.2 e tudo estava bem em servir uma compilação localmente, mas assim que o implantamos, tivemos um erro permanente de recursos ausentes em qualquer navegador. O downgrade para 2.8.5 apenas me permitiu implantar e fazer o site começar a funcionar.

@jackhair entendo. Ainda não lançamos nosso site Gatsby, então não sei se ainda veremos algum percentual de tráfego para ver esse problema. Encontramos isso ao implantar uma versão de teste. Estávamos no 2.9.2 e tudo estava bem em servir uma compilação localmente, mas assim que o implantamos, tivemos um erro permanente de recursos ausentes em qualquer navegador. O downgrade para 2.8.5 apenas me permitiu implantar e fazer o site começar a funcionar.

Interessante. Pelo que vale a pena, nunca fomos capazes de replicar o problema localmente (gatsby development), apenas quando ele é construído em um ambiente de produção é que vemos o problema.

Temos um branch de produção no 2.9.2 que parece promissor, até agora sem problemas, mas o tráfego para ele é minúsculo em comparação com a produção principal. Vou postar os resultados assim que implementarmos, esperando que a atualização do manifesto da página para Gatsby na semana passada ajude muito.

Temos 2.9.0 em produção e, infelizmente, ainda estamos vendo o problema na mesma taxa de antes - 1 a 2% do tráfego em todos os navegadores.

A reversão da versão para 2.8.5 de 2.9.4 parece ter corrigido o problema para nós.
Em nosso caso, parece estar relacionado a alguns arquivos pages-manifest-{hash}.js[.map] ausentes.
As versões 2.9.3 e 2.9.4 têm algumas alterações importantes em potencial: consulte https://github.com/gatsbyjs/gatsby/pull/14732 (de changelogs do pacote Gatsby: https://github.com /gatsbyjs/gatsby/blob/master/packages/gatsby/CHANGELOG.md).
Para confirmar isso, um último teste para nós deve ser atualizar o Gatsby para 2.9.2 .

Para sua informação, https://github.com/gatsbyjs/gatsby/pull/14889

Se algum de vocês tiver tempo para revisar / experimentar isso, será muito apreciado. Peço desculpas por não perceber isso antes - não estava claro o quão difundido isso era ou qual era a causa antes de começar recentemente com @Moocar

Não sei se vai ajudar mais, mas estava https://gatsbyjs.org/contributing alguns minutos atrás:

Screenshot 2019-06-19 at 17 04 17

Foi consertado após uma recarga, mas parecia valer a pena colocar aqui @KyleAMathews

Acredito que isso possa ser um problema com a configuração do plugin offline, uma vez que pode não estar verificando corretamente as alterações nos arquivos de manifesto da página e, portanto, mantendo os antigos.

Vou tentar dar uma olhada na próxima semana com @wardpeet, já que escrevi muitos plug-ins offline - infelizmente, tenho estado muito ocupado recentemente com exames e planejando mudar de casa, então não pude verificar todos esses muda corretamente 😞

@ davidbailey00 Antes de se aprofundar muito na depuração, percebemos isso com ou sem o plug-in offline.

@ davidbailey00 também estávamos tendo o problema sem o plugin offline. Ele está em meus módulos de nó, mas ainda comentado em meu arquivo de configuração.

Também estamos experimentando isso sem o plug-in offline instalado.

@ davidbailey00 sim, achamos que a correção principal está lidando corretamente com alguns casos de erro incomuns para solicitações ajax e adicionando lógica de repetição https://github.com/gatsbyjs/gatsby/pull/14889

Implementamos o PR no gatsbyjs.org nos últimos cerca de 4-5 dias e as coisas parecem muito boas! Não houve novos eventos de "recursos ausentes" desde a implantação.

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

@wardpeet está trabalhando em alguns testes para simular problemas de rede, mas devemos resolver isso nas próximas 24 horas.

Obrigado @KyleAMathews mal posso esperar para começar!

@KyleAMathews obrigado a você e sua equipe por essa atualização!

@KyleAMathews Estou tendo esse problema ainda ocorrendo em meu site. localmente funciona bem e em prod não. Além disso, estou vendo isso 100% das vezes, não esporadicamente como alguns dos comentários acima. Dito isso, examinei a maioria das soluções e utilizá-las não resultou em uma correção. Você tem uma versão específica do Gatsby que contém a correção para que eu possa garantir que estou acertando em algo diferente?

Estou disposto a compartilhar a URL de forma privada, bem como adicionar acesso de contribuição ao repositório privado se alguém da equipe do gatsby quiser dar uma olhada (mande uma mensagem no

  • Adicionar recarga de service worker em gatsby-browser.js
  • Removendo plugin offline
  • Atualizando todos os módulos de nó
  • Garantir que as importações não sejam referenciadas usando .

Devemos consertar este na última versão do gatsby [email protected] . Nós o executamos em gatsbyjs.org e os erros desapareceram para nós.

Faça upgrade e nos informe se houver mais problemas. Fechando isso por enquanto.

@KyleAMathews Obrigado - Sim, infelizmente isso não corrigiu, embora eu ache que seja outra coisa, pois o erro de Recursos ausentes foi embora, mas o problema principal ainda está lá, então eu apresentei o problema # 15322

@KyleAMathews Obrigado - Sim, infelizmente isso não corrigiu, embora eu ache que seja outra coisa, pois o erro de Recursos ausentes foi embora, mas o problema principal ainda está lá, então eu apresentei o problema # 15322

Não teremos recursos ausentes porque foram excluídos e substituídos por um erro diferente: https://github.com/gatsbyjs/gatsby/pull/14889/files#diff -3182dbe2979ea0744c50242668edc572L173

Recentemente, implementamos essa correção, verificando os logs de bugs para erros novos / diferentes.

EDITAR: sim, parece que this.loadPageDataJson(...).then(...).finally is not a function é o novo missing resources

@jackhair em qual navegador você está testando? Tenho certeza de que adicionamos um finalmente polyfill. Pode estar errado, entretanto.

se importa em compartilhar seu repo? ou uma pequena reprodução?

@jackhair em qual navegador você está testando? Tenho certeza de que adicionamos um finalmente polyfill. Pode estar errado, entretanto.

se importa em compartilhar seu repo? ou uma pequena reprodução?

Estamos vendo isso em vários navegadores em produção:

Screen Shot 2019-07-02 at 13 29 03

Você se importa em compartilhar o URL do seu site para que eu possa dar uma olhada e talvez depurá-lo um pouco?

Você se importa em compartilhar o URL do seu site para que eu possa dar uma olhada e talvez depurá-lo um pouco?

Certo! https://ritual.com

@jackhair posso confirmar o bug. Você poderia fazer um novo problema com as informações fornecidas acima?

@wardpeet @jackhair também estamos recebendo esse problema de finally polyfill. Há um novo problema adicionado? pode referir este, por favor?

@eknowles @wardpeet Desculpe, não tive tempo de escrever um tíquete de bug para isso ainda. Se você tiver um momento livre e quiser criar um, também posso fazer o backup com meus próprios dados.

@wardpeet @jackhair Consegui rastrear nosso problema com o finalmente polyfill.

Descobrimos que uma de nossas dependências era incluir babel-polyfill com useBuiltins: uso em vez de entrada.

De qualquer forma, tivemos que fazer o downgrade do redux-api-middleware (não relacionado ao gatbsy).
https://github.com/agraboso/redux-api-middleware/compare/v2.3.0...v3.0.0

isso resolveu nosso bug de finally . Eu recomendaria seguir o rastreamento de pilha na cadeia e ver qual lib é o culpado, pois o polyfill Promise pode estar sendo substituído, mas um lib desagradável.

Obrigado, já vimos isso antes com node_modules e babel-runtime. Terei que repensar sobre como podemos corrigir isso no futuro ou, pelo menos, dar uma mensagem de erro adequada.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

benstr picture benstr  ·  3Comentários

Oppenheimer1 picture Oppenheimer1  ·  3Comentários

dustinhorton picture dustinhorton  ·  3Comentários

mikestopcontinues picture mikestopcontinues  ·  3Comentários

jimfilippou picture jimfilippou  ·  3Comentários