助赢
助赢
  • 发布:2023-11-10 16:50
  • 更新:2024-04-02 08:58
  • 阅读:790

【报Bug】app端异步加载组件会报Invalid value "iife" for option "output.format"

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 3.96

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: AL00

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

创建 index.vue,通过 import.meta.glob("./components/test.vue") 方式引入,components文件夹下的test.vue文件

预期结果:

正常打包编译

实际结果:

报错:Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds

bug描述:

app使用异步引入组件的方式:比如:import.meta.glob("./components/zytable.vue")、或defineAsyncComponent
app调试的时候会直接报:

Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds

H5端不会。

是app端本身就不支持异步加载组件吗?

直接使用import("./components/zytable.vue"),异步加载组件,H5端可以渲染,app端直接空白

2023-11-10 16:50 负责人:无 分享
已邀请:
YUANRJ

YUANRJ

只有h5端支持异步组件,参考文档

助赢

助赢 (作者)

那app端有办法进行异步组件加载么?找了一圈,没找到

3***@qq.com

3***@qq.com

改为下面的写法:
const views= import.meta.glob('/pages/*/.vue', { eager: true });

let asyncComponents = ref("");//异步渲染的组件

let comp=views[/pages/${变量}.vue];

asyncComponents.value=markRaw(comp.default)

<component :is="asyncComponents" v-if="asyncComponents"></component>

  • w***@dms365.com

    但是组件还未使用的时候,资源也加载了,和同步请求没啥两样了吧

    2024-11-09 09:52

要回复问题请先登录注册