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.
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