需求
腾讯地图js文件加载太慢,有时长达数十秒,传统的在index.html中引入的方式,会导致所有页面都等待js加载。体验极差。
解决
使用异步加载,在需要地图的模块进行懒加载。
核心代码如下:
mounted() {
//异步加载
const mapScript = document.createElement('script')
mapScript.type = 'text/javascript'
mapScript.src = 'https://map.qq.com/api/gljs?v=1.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77'
document.body.appendChild(mapScript)
mapScript.onload = () => {
console.log('mapScript 加载完毕')
//加载完成后初始化地图
this.initMap()
}
},
methods: {