我有一个函数initMap()
,应该在Google Maps API加载完成后调用。此功能管理我在我的网络应用程序中使用的地图的所有设置。
initMap()
位于名为init-map.js
的文件中。
我正在迁移到Webpack,因此init-map.js
现在使用index.js
加入require('./scripts/init-map.js
。
我收到错误InvalidValueError: initMap is not a function
,但是当我使用自己的init-map.js
标记加载<script>
时,我没有收到错误。
导致错误:
<html>
<head>
...
<script src="bundle.js"></script> <!-- init-map.js is required in this file -->
</head>
<body>
....
<script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap" async defer></script>
</body>
</html>
无问题地工作:
<html>
<head>
...
<script src="bundle.js"></script>
<script src="./scripts/init-map.js"></script>
</head>
<body>
....
<script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap" async defer></script>
</body>
</html>
我不知道如何在进行回调时为Google Maps API提供initMap()
。
我还希望在init-map.js
内管理index.js
。
答案 0 :(得分:0)
我相信这是因为捆绑程序将您的initMap函数的名称更改为一个字母,例如e
或f
。
答案 1 :(得分:-1)
请检查您的通话部分。它会抛出404错误吗?在检查元素 - &gt;网络
尝试使用&#34; ./ scripts / init-map.js&#34; to&#34; /scripts/init-map.js"或&#34; scripts / init-map.js&#34;