所以我尝试使用 Vite 上的内联导入将 SVG 作为字符串导入到我的 Vue 组件中,如下所示
<script>
const getSvgIcon = async (name) => {
const module = await import(`../icons/${name}.svg?raw`)
return module.default
}
export default {
props: {
name: String,
},
data() {
return {
svg: null,
}
},
watch: {
name: {
async handler(name) {
this.svg = await getSvgIcon(name)
},
immediate: true,
},
},
}
</script>
<template>
<div v-html="svg"></div>
</template>
Run Code Online (Sandbox Code Playgroud)
这在模式下运行时效果很好npm run dev
。
然而,问题发生在运行时npm run build
,我最终Error: Unknown variable dynamic import
明显因为我使用了?raw
后缀。
目前有解决方案吗?或者这是 …