<p>troika parece romper SSR</p>

Creado en 23 may. 2020  ·  11Comentarios  ·  Fuente: protectwise/troika

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

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

parece depender de document , que no existe en node.

creo que para hacer que la troika sea pseudo-isomorfa, todo lo que tendría que hacer es:

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

esto permitiría que ssr funcione normalmente.

Todos 11 comentarios

Gracias por el informe. ¿Tengo razón al suponer que un entorno SSR en realidad no intentaría representar el texto? La solución sugerida anteriormente evitaría un error en la carga inicial del módulo de secuencia de comandos, pero fallaría más tarde cuando realmente intentara usar ese linkEl , así que quiero asegurarme de que no sea un problema.

1b005ec debería funcionar, pero me sentiría mejor con alguna verificación antes de publicar una versión 0.26.0.

Sí, eso es correcto, simplemente no se bloquearía. El cliente en cambio tiene la oportunidad de presentar una vista inmediatamente y se rehidrata más tarde.

Les pediré que lo prueben, gracias por la solución...

Seguí adelante y publiqué 0.26.0 con esa solución, estoy bastante seguro de que debería solucionar el problema después de probarlo require() -ing it in the node repl. Vuelva a abrir esto si no resuelve el problema para sus usuarios. ¡Gracias!

¡Eso es genial! muchas gracias, voy a volver a publicar mis cosas también.

Probablemente relacionado, estoy usando nextjs y ocurre el siguiente error al iniciar. en 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 Eso debería ser solo un console.warn no un error grave, ¿está causando problemas?

@gtolarc Puedo ver cómo ese mensaje de advertencia sería muy molesto en los registros del servidor, así que lo suprimí en entornos que no son de navegador: 3dedb8f2b338e9345c107831863152b115ca50d2

He publicado 0.26.1 con ese cambio.

Sí, no he sentido ningún otro problema. y en 0.26.1, el mensaje de advertencia desapareció. ¡Gracias! @lojjic

Lo siento, para abrir esto de nuevo. Todavía veo la consola. Advertencia en mis pruebas de broma. De todos modos para suprimir esto?

Abrí un pequeño MR que verifica si el entorno del proceso es 'prueba' antes de que la consola registre una falla en la creación del trabajador web en troika-worker-utils: https://github.com/protectwise/troika/pull/85

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

Temas relacionados

stephencorwin picture stephencorwin  ·  39Comentarios

lojjic picture lojjic  ·  11Comentarios

asbjornlystrup picture asbjornlystrup  ·  7Comentarios

Ocelyn picture Ocelyn  ·  13Comentarios

atlmtw picture atlmtw  ·  47Comentarios