Netlify部署有错误:WebpackError:ReferenceError:窗口未定义

时间:2019-12-11 00:59:16

标签: gatsby netlify

将我的gatsby站点部署到Netlify时,出现以下错误: WebpackError:ReferenceError:窗口未定义 这是我的代码:

...
{% for speciespage in pierinae_pages %}
    <tr>
        <td><i>{{ speciespage.title }}</i></td>
        ...
    </tr>
{% endfor %}
...

它表示错误“窗口”在服务器端渲染期间不可用。

那我可以用什么代替窗口?

其他一切正常。

1 个答案:

答案 0 :(得分:1)

在开发期间,react组件只能在定义了window的浏览器中运行,以便其正常运行。但是,当building反应组件在未定义window的服务器上呈现时。这就是您看到此错误的原因。

您可以通过调用windowcomponentDidMount钩子中的useEffect来解决此错误。

您也可以尝试执行此操作

const stripe = typeof window !== 'undefined' && window.Stripe("stripeID_Here");