将我的gatsby站点部署到Netlify时,出现以下错误: WebpackError:ReferenceError:窗口未定义 这是我的代码:
...
{% for speciespage in pierinae_pages %}
<tr>
<td><i>{{ speciespage.title }}</i></td>
...
</tr>
{% endfor %}
...
它表示错误“窗口”在服务器端渲染期间不可用。
那我可以用什么代替窗口?
其他一切正常。
答案 0 :(得分:1)
在开发期间,react组件只能在定义了window
的浏览器中运行,以便其正常运行。但是,当building
反应组件在未定义window
的服务器上呈现时。这就是您看到此错误的原因。
您可以通过调用window
或componentDidMount
钩子中的useEffect
来解决此错误。
您也可以尝试执行此操作
const stripe = typeof window !== 'undefined' && window.Stripe("stripeID_Here");