有没有一种方法可以从URL导入脚本包?

3

我正在使用React,并且想要使用一个只能通过URL检索的软件包。在HTML中,可以使用script标签轻松导入,但是如何导入到JavaScript文件中呢?

我想做的是将此内容转换为:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>

将其转化为类似以下的内容:

变成这样

import 'https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true'

可能是重复的问题:如何将 JavaScript 文件链接到 HTML 文件? - Liam
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> - Liam
https://dev59.com/w1sW5IYBdhLWcg3wwZjG - epascarello
1
可能是ES6:从URL导入模块的重复问题。 - Baptiste Candellier
1
谷歌地图使用document.write,因此如果您能够使用它,我非常怀疑它是否会起作用。 - epascarello
显示剩余2条评论
1个回答

1

根据您在直接导入HTML时的评论:

它会抛出一个错误,说脚本对象未定义

我认为这里最好的方法是不要尝试在另一个JS文件中导入js,而是使用React google maps库,这样您就不需要通过这些技巧了。

尝试一下,然后让我们知道。

这个答案的原因是,即使您通过将另一个js文件添加到自己的js文件中使脚本工作,google maps api js也会做更多的事情,在React中会给您带来麻烦和问题(例如您现在遇到的问题),而这些问题已经被这个库解决了。

阅读官方文档,看看它是否适合您。

示例

这个库有一个很好的教程和非常基础的例子,在这里

使用纬度和经度的示例(来自于该教程):

const GoogleMapExample = withGoogleMap(props => (
   <GoogleMap
     defaultCenter = { { lat: 40.756795, lng: -73.954298 } }
     defaultZoom = { 13 }
   >
   </GoogleMap>
));
return(
   <div>
     <GoogleMapExample
       containerElement={ <div style={{ height: `500px`, width: '500px' }} /> } 
       mapElement={ <div style={{ height: `100%` }} /> }
     />
   </div>
);

备选库

作为另一个用于呈现谷歌地图的React库,你也可以选择使用这个库。

google-map-react

使用此库,您还可以遵循本教程

这些库有很多支持者和星标,这意味着您总是可以依靠更新和有用的信息。


我只想从纬度和经度中读取城市,但是我发现这个API好像不能显示它。(我不知道会这么复杂) - Gergő Horváth
@GergőHorváth 看看我的更新,看看它是否有帮助到你。 - c-chavez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接