uniapp + vite + vue3异步加载组件会报Invalid value “iife“ for option “output.format“

509 阅读1分钟

原代码

const views= import.meta.glob('/pages/**/*.vue');//pages下面的vue路径
 
let comp;//对应路径的组件
 
let asyncComponents = ref("");//异步渲染的组件
 
comp=viewsModules[`/pages/${变量}.vue`];
 
if(comp){
   comp().then((res)=>{
      asyncComponents.value=markRaw(res.default)
   })
}

H5端编译没有问题,但是运行至移动端会报错Invalid value "iife" for option "output.format",无法编译。

报错.jpg

查了下uniapp官网,都有这个问题。

解决方案:

将import.meta.glob写法改为import.meta.globEager或者import.meta.glob('/pages/**/*.vue', { eager: true })

const views= import.meta.glob('/pages/**/*.vue', { eager: true });//pages下面的vue路径
 
let comp;
 
let asyncComponents = ref("");//异步渲染的组件
 
comp=viewsModules[`/pages/${变量}.vue`];
 
if(comp){
	asyncComponents.value=markRaw(comp.default)
}