创建 index.vue,通过 import.meta.glob("./components/test.vue") 方式引入,components文件夹下的test.vue文件
- 发布:2023-11-10 16:50
- 更新:2024-04-02 08:58
- 阅读:790
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 3.96
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: 华为
手机机型: AL00
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常打包编译
正常打包编译
实际结果:
报错:Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds
报错: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端直接空白
3 个回复
YUANRJ
只有h5端支持异步组件,参考文档
助赢 (作者)
那app端有办法进行异步组件加载么?找了一圈,没找到
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