导入命令之间的区别

弧度

之间的语义差异是什么

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章