在Webpack包

时间:2017-04-15 19:53:06

标签: javascript google-maps webpack

我有一个函数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

2 个答案:

答案 0 :(得分:0)

我相信这是因为捆绑程序将您的initMap函数的名称更改为一个字母,例如ef

答案 1 :(得分:-1)

请检查您的通话部分。它会抛出404错误吗?在检查元素 - &gt;网络

尝试使用&#34; ./ scripts / init-map.js&#34; to&#34; /scripts/init-map.js"或&#34; scripts / init-map.js&#34;