【发布时间】:2023-02-13 23:51:36
【问题描述】:
我正在用 unplugin-icon 创建一个图标组件,通常情况下我可以导入
//script
import IconCopy from '~icons/prime/copy'
//template
<IconCopy/>
它有效,但如果我们想使用另一个图标,一个一个导入感觉不方便,所以我创建了一个名为 Eunoicon.vue 的动态组件
<script setup>
const props = defineProps({
icon : {type:String}
})
const from = `~icons/prime/${props.icon}`
const TheIcon = await import(/* @vite-ignore */from)
console.log('ti',TheIcon)
</script>
<template>
<TheIcon/>
</template>
但是当我尝试将其导入组件时,它会抛出错误Uncaught (in promise) TypeError: Failed to resolve module specifier '~icons/prime/copy'.
对这种方法或任何提供简单方法的图标库的任何建议,如 .我已经尝试过 vue font awesome 但它仍然没有我想要的那么简单。
【问题讨论】:
-
自动导入功能不够用:github.com/antfu/unplugin-icons#auto-importing?你不能做到完全动态,因为图标是在构建时而不是运行时导入的。
标签: javascript vue.js icons vite dynamic-import