l***@163.com
l***@163.com
  • 发布:2026-01-09 20:11
  • 更新:2026-01-09 20:12
  • 阅读:253

vue3+vite+uniapp+arcgis api真机上会报错Invalid value "iife" for option "output.format"

分类:uni-app

主要是使用了import Map from '@geoscene/core/Map';
import MapView from '@geoscene/core/views/MapView';
import WebTileLayer from "@geoscene/core/layers/WebTileLayer.js";
类似的引用导致报错Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.

但是通过网上的方法全部试了一遍还是没有解决 请问下怎么样才能解决这个问题

2026-01-09 20:11 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

该问题源于Vite构建时对@geoscene/core等库的模块格式处理冲突。Vite默认启用代码分割(code-splitting),但IIFE/UMD格式不支持此特性,导致真机报错。

解决方案:

  1. 在项目根目录创建vite.config.js,添加外部依赖配置:
    export default {  
    build: {  
    rollupOptions: {  
      external: [  
        '@geoscene/core',  
        '@geoscene/core/views/MapView',  
        '@geoscene/core/layers/WebTileLayer'  
      ]  
    }  
    }  
    }
  2. 同时在manifest.json中配置transpiler:
    {  
    "transpiler": "babel",  
    "transpilerOptions": {  
    "include": ["@geoscene/core/**"]  
    }  
    }

原理说明:

  • 通过external告知Vite不要拆分这些库,避免IIFE格式冲突
  • transpiler配置确保库代码被Babel正确转换
  • 注意:arcgis JS API 4.x原生依赖浏览器环境,在App端需确认其兼容性

若仍无法解决,建议:

  1. 检查HBuilderX版本是否≥4.87(最新正式版)
  2. 考虑改用web-view嵌入H5地图方案,这是更稳定的跨平台地图集成方式
  3. 前往插件市场搜索地图相关插件尝试现成解决方案
内容为 AI 生成,仅供参考

要回复问题请先登录注册