<p>troika parece quebrar SSR</p>

Criado em 23 mai. 2020  ·  11Comentários  ·  Fonte: protectwise/troika

https://github.com/react-spring/drei/issues/25

https://github.com/react-spring/drei/issues/23

parece depender de document , que não existe em node.

acredito que para tornar a troika pseudo-isomórfica tudo o que teria que fazer é:

const linkEl = typeof document !== 'undefined' && document.createElement('a')

isso permitiria que o ssr funcionasse normalmente.

Todos 11 comentários

Obrigado pelo relatório. Estou correto em supor que um ambiente SSR não tentaria realmente renderizar o texto? A correção sugerida acima evitaria um erro no carregamento inicial do módulo de script, mas falharia mais tarde quando realmente tentasse usar esse linkEl , então quero ter certeza de que isso não é um problema.

1b005ec deve fazer o truque, mas eu me sentiria melhor com alguma verificação antes de publicar uma versão 0.26.0.

Sim, está correto, apenas não travaria. O cliente, por outro lado, tem a chance de apresentar uma visão imediatamente e reidratá-la mais tarde.

Vou pedir para eles testarem, obrigado pela correção...

Eu fui em frente e publiquei 0.26.0 com essa correção, estou bastante confiante de que deve corrigir o problema depois de testá-lo require() -ing-lo no node repl. Reabra isso, por favor, se isso não resolver o problema para seus usuários. Obrigado!

Fantástico! muito obrigado, vou republicar minhas coisas também.

Provavelmente relacionado, estou usando nextjs e ocorre o seguinte erro na inicialização. na v0.26

Troika createWorkerModule: web workers not allowed in current environment; falling back to main thread execution. ReferenceError: Worker is not defined
    at supportsWorkers (/Users/mk/dev/workspace/dapps/gione/node_modules/troika-worker-utils/dist/troika-worker-utils.umd.js:417:20)
    at defineWorkerModule (/Users/mk/dev/workspace/dapps/gione/node_modules/troika-worker-utils/dist/troika-worker-utils.umd.js:472:10)
    at /Users/mk/dev/workspace/dapps/gione/node_modules/troika-worker-utils/dist/troika-worker-utils.umd.js:606:30
    at /Users/mk/dev/workspace/dapps/gione/node_modules/troika-worker-utils/dist/troika-worker-utils.umd.js:2:66
    at Object.<anonymous> (/Users/mk/dev/workspace/dapps/gione/node_modules/troika-worker-utils/dist/troika-worker-utils.umd.js:5:2)

@gtolarc Isso deve ser apenas um console.warn não um erro difícil, está causando problemas?

@gtolarc Eu posso ver como essa mensagem de aviso seria muito irritante nos logs do servidor, então fui em frente e a suprimi em ambientes sem navegador: 3dedb8f2b338e9345c107831863152b115ca50d2

Publiquei 0.26.1 com essa alteração.

sim, não senti nenhum outro problema. e em 0.26.1, a mensagem de aviso desapareceu. Obrigado! @lojjic

Desculpe, para abrir novamente. Ainda vejo o console.warning nos meus testes de jest. De qualquer forma para suprimir isso?

Abri um pequeno MR que verifica se o processo env é 'teste' antes de o console registrar uma falha na criação do web worker em troika-worker-utils: https://github.com/protectwise/troika/pull/85

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

Questões relacionadas

natarius picture natarius  ·  14Comentários

Ocelyn picture Ocelyn  ·  13Comentários

stephencorwin picture stephencorwin  ·  39Comentários

lojjic picture lojjic  ·  11Comentários

atlmtw picture atlmtw  ·  47Comentários