Helmet 中的 CDN 脚本并不总是正确加载

CDN-script in Helmet does not always load properly

我正在使用 React + Gatsby 构建网站,需要在客户端使用 Paper.js。

目前我将脚本放入 render()


<Helmet>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.2/paper-full.min.js" />
</Helmet>

然而,当我重新加载 (f5) 但当用户被定向到单击 Gatsby-Link 元素(to="/path")

的页面时它不起作用

我的问题是什么?

您可以传递 Helmet 一个 script 道具,其中包含一组脚本:

<Helmet
  script={[
    {
      "src": "https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.2/paper-full.min.js", 
      "type": "text/javascript"
    }
  ]}
>
...
</Helmet>