因为项目需要做了个散点、热力图的组件,刚开始写demo的时候还能打开,后来调试刷着刷着就打不开了,报错BMap api is not loaded,如下图:
百度排查问题步骤:
1.因为打开页面有报错说api授权不足,所以去了百度地图的开放平台创建了一个浏览器端的应用,
2. 然后根据echarts的demo.html把它需要的js全部下载下来导入项目目录中,然后通过require进行引用,创建第一步的用处就是在api.js里面把密钥改一下
<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=您的密钥"></script>
然后发现问题并没有解决
3.接着我就又百度,查到有人说要在外部引用BMap,给 webpack 添加配置:externals
在我添加后并没有什么卵用。
4.接着我无意间看到需要把api.js在模板的head里面先引用,我试了下,居然可以了。
为了排查具体哪里引起的,我又把webpack里面的externals删除了,结果一样能用,所以断定跟配置项没什么关系。只跟js的加载顺序以及位置有关系。