之间的语义差异是什么
import {
FaceOutline as FaceIcon,
Key as KeyIcon
} from '@iconify/icons-mdi';
和
import FaceIcon from '@iconify/icons-mdi/face-outline';
import KeyIcon from '@iconify-icons/mdi/key';
尽管后者有效,但第一个无效。错误消息说,@iconify/icons-mdi
找不到?!`
顺便说一句:其他软件包都可以。例:
import {
Menu as MenuIcon,
ChevronRight as ChevronRightIcon
} from '@material-ui/icons';
这取决于如何导出模块。
在此@material-ui
示例中,将index.js
在根目录中包含一个文件,其中包含其他文件的命名导出。这不是必需的,因此并非所有软件包都允许您执行此操作。
看一下material-ui源代码。您可以在此处看到此文件使用命名的导出来导出所有图标。
但是,如果转到特定的图标模块,则会看到它使用默认导出。
这就是为什么您可以通过多种方式做到这一点的原因。
至于@iconify/icons-mdi
,我不知道它们是否包含此索引文件,因此您可能会也可能无法同时导入两种方式。我没有像Material-ui那样使用该库,但是我发现的文档在任何地方都没有引用命名的导入。
您可以在此处了解有关命名导入和默认导入之间差异的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句