腾讯地图 SDK 接入到 uniapp 的多端解决方案
qqmap-uniapp:腾讯地图SDK的现代化解决方案 基于腾讯官方微信小程序JavaScript SDK v1.2,专为现代化开发环境打造的ES模块版本 背景:为什么需要这个包? 在开发基于 Vue3 + Vite 的 uni-app 项目时,笔者遇到了两个关键问题: 问题1:模块格式不兼容 腾讯官方提供的 qqmap-wx-jssdk.min.js 是一个 CommonJS 格式的文件,而现代构建工具如 Vite、Webpack 5+ 默认使用 ES Module(ESM) 格式。 // ❌ 官方SDK使用CommonJS格式 var QQMapWX = require('qqmap-wx-jssdk.min.js'); // ✅ Vue3 + Vite需要ESM格式 import QQMapWX from 'qqmap-uniapp'; 问题表现: Vite 无法正确解析 module.exports,导致导入失败 编译错误:require is not defined or ReferenceError: Can't find variable: require __ERROR 问题2:平台限制过于严格 官方SDK只支持微信小程序环境,使用了 wx.request 进行网络请求,这限制了其在其他平台的使用: // 官方SDK中只使用wx.request wx.request({ url: 'https://apis.map.qq.com/ws/...', success: function(res) { /* ... */ } }); 在 uni-app 跨平台开发中,我们需要使用 uni.request 来实现一套代码多端运行。 ...