js 异步加载script 预步加载 资源

1按需要加载资源 (以百度地图资源为例)

创建一个js 文件
 * @description 加载百度地图BMapGL基础组件js
 * @param {string} ak //百度地图密钥ak
 * @param {string} type //百度地图类型
 * @param {string} v   //百度地图版本
 * @param {string} BMapObj  //需要百度地图的对象类型
 */
export default function asyncloadBMapGLjs(ak, type = 'webgl', v = '1.0', BMapObj = 'BMapGL') {
  return new Promise((resolve, reject) => {
    window.onBMapCallback = function () {
      resolve()
    }
    if (!window[BMapObj]) {
      let script = document.createElement('script')
      script.type = 'text/javascript'
      script.src = `//api.map.baidu.com/api?type=${type}&v=${v}&ak=${ak}&callback=onBMapCallback`
      script.onerror = reject
      document.head.appendChild(script)
    } else {
      resolve()
    }
  })
}

2 按需引用 在需要的页面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容