我正在使用服务器渲染进行反应项目。我发现我不能使用窗口(/ location / localStorage ...)。它将在服务器渲染进度中崩溃。此外,如果我使用仅适用于浏览器的库,它也会崩溃甚至导入/仅需要lib。测试是可用的一切,有时我必须编写更多代码处理服务器渲染。这很脏,让我累。还有其他解决方法吗?
答案 0 :(得分:0)
我今天遇到了同样的问题“只有浏览器可用的库”,即使用窗口的那个(在我的情况下是react-chartjs-2)。
在挖掘一下后,您可以使用以下NPM包来修复它:https://www.npmjs.com/package/window-or-global
如果您不想使用外部包,还可以检查server.js中是否定义了windows,如果没有,则创建一个全局窗口变量:
if (typeof(window) == 'undefined') global.window = new Object();