<p>三驾马车似乎打破了SSR</p>

创建于 2020-05-23  ·  11评论  ·  资料来源: protectwise/troika

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

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

它似乎依赖于节点中不存在的document

我相信为了使三驾马车伪同构,它所要做的就是:

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

这将允许 ssr 正常运行。

所有11条评论

感谢您的报告。 我是否正确假设 SSR 环境实际上不会尝试呈现文本? 上面建议的修复将防止初始脚本模块加载时出错,但稍后会在它实际尝试使用linkEl时失败,所以我想确保这不是问题。

1b005ec 应该可以解决问题,但在发布 0.26.0 版本之前,我会通过一些验证感觉更好。

是的,这是正确的,它只是不会崩溃。 另一方面,客户有机会立即呈现一个视图,然后再补水。

我会请他们尝试一下,谢谢修复...

我已经继续发布了带有该修复程序的 0.26.0,我相当有信心在通过require()在节点 repl 中对其进行测试后解决该问题。 如果它不能为您的用户解决问题,请重新打开它。 谢谢!

棒极了! 非常感谢,我也会重新发布我的东西。

可能相关,我正在使用nextjs,启动时出现以下错误。 在 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那应该只是console.warn不是硬错误,它会导致问题吗?

@gtolarc我可以看到该警告消息在服务器日志中会非常烦人,所以我继续在非浏览器环境中抑制它:3dedb8f2b338e9345c107831863152b115ca50d2

我已经发布了带有该更改的 0.26.1。

是的,我没有感觉到任何其他问题。 在 0.26.1 中,警告消息消失了。 谢谢! @lojjic

抱歉,重新打开这个。 我仍然在我的笑话测试中看到了 console.warning。 无论如何要压制这个?

我打开了一个小 MR,在控制台记录在 troika-worker-utils 中创建 Web Worker 失败之前检查进程 env 是否为“测试”: https ://github.com/protectwise/troika/pull/85

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

atlmtw picture atlmtw  ·  47评论

lojjic picture lojjic  ·  11评论

lojjic picture lojjic  ·  18评论

Ocelyn picture Ocelyn  ·  13评论

asbjornlystrup picture asbjornlystrup  ·  7评论