gpt4 book ai didi

reactjs - 在 Gatsbyjs (Reactjs) 项目中加载 Google Place API

转载 作者:行者123 更新时间:2023-12-03 13:33:15 26 4
gpt4 key购买 nike

我正在尝试使用 Google Place API 中的自动完成地址服务。

找到这个库: https://github.com/kenny-hibino/react-places-autocomplete#load-google-library

它要求在我的项目中加载库: https://github.com/kenny-hibino/react-places-autocomplete#getting-started

如果它是纯 Reactjs 项目,我会在 public/index.html 中执行此操作。但是Gatsbyjs项目中的public/index.html每次运行都会被删除并重新生成:

Gatsby develop

命令行。

如何在我的 Gatsbyjs 项目中使用 Google Place API?

更新

我尝试了两种方法来实现这一目标。

  1. 在/layouts/index.js 中使用 React-Helmet,如下所示:

        <Helmet>
    <script src="https://maps.googleapis.com/maps/api/js?key={API}&libraries=places&callback=initAutocomplete" async defer></script>
    </Helmet>

    enter image description here

  2. 将脚本引用放在/public/index.html 中,如下所示:

    <!DOCTYPE html>
    <html>

    <head>
    <meta charSet="utf-8" />
    <meta http-equiv="x-ua-compatible" content="ie=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title data-react-helmet="true"></title>
    <script src="/socket.io/socket.io.js"></script>
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key={API_KEY}&libraries=places" async defer ></script>
    </head>

    <body>
    <div id="___gatsby"></div>
    <script src="/commons.js"></script>
    </body>

    </html>

对于第一个解决方案,每次刷新页面后,项目都会抛出一个错误,要求加载 Google JavaScript Map API。

对于第二种解决方案,每次我通过命令行重新启动Gatsby后:gatsbydevelop

它会重新生成index.html,从而清除其中的 JavaScript 引用。

最佳答案

您不应修改 public 中的任何文件使用 GatsbyJS 进行 forlder。

相反,我建议您customize your html.js file .

为此,请首先运行:

cp .cache/default-html.js src/html.js

您应该拥有 html.js文件位于 /src/html.js 中。

现在您可以输入 <script> <head> 内的标签.

关于reactjs - 在 Gatsbyjs (Reactjs) 项目中加载 Google Place API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50274502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com