我用uni-app的renderjs就是不同的vue页面都引用maptalks 报错重复引入了咋解决

我用uni-app的renderjs就是不同的vue页面都引用maptalks 报错重复引入了咋解决

操作步骤:

  • 重复引入报错

预期结果:

  • 可以重复引入

实际结果:

  • 重复引入报错

bug描述:

  • 我用renderjs就是不同的vue页面都引用maptalks  报错重复引入了咋解决  Disallow duplicate imports of maptalks version 1.0.3 and 1.0.3
信息类别 信息内容
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 333
HBuilderX类型 正式
HBuilderX版本号 4.29
手机系统 Android
手机系统版本号 Android 11
手机厂商 华为
手机机型 荣耀20
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX


更多关于我用uni-app的renderjs就是不同的vue页面都引用maptalks 报错重复引入了咋解决的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于我用uni-app的renderjs就是不同的vue页面都引用maptalks 报错重复引入了咋解决的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app中使用renderjs时,多个页面同时引入maptalks确实会遇到重复加载的问题。解决方法如下:

  1. 使用全局变量方式: 在main.js中全局引入maptalks:
import maptalks from 'maptalks'
Vue.prototype.$maptalks = maptalks
  1. 在renderjs中使用全局变量:
renderjs: {
  mounted() {
    const maptalks = this.$ownerInstance.$vm.$maptalks
    // 使用maptalks
  }
}
  1. 或者在app.vue中通过provide/inject共享:
// app.vue
provide() {
  return {
    maptalks: require('maptalks')
  }
}

// 子页面
inject: ['maptalks'],
renderjs: {
  mounted() {
    const maptalks = this.maptalks
    // 使用maptalks
  }
}
回到顶部