javascript - 从子文件夹导入文件的最有效方法?
问题描述
我有一个包含子目录的父目录,每个子目录都包含一个 SVG 组件,我只需要导入其中的一些。我目前正在通过这样做导入我需要的所有组件:
import FacebookIcon from 'project/icons/Facebook';
import TwitterIcon from 'project/icons/Twitter';
import DiscordIcon from 'project/icons/Discord';
import MediumIcon from 'project/icons/Medium';
import YoutubeIcon from 'project/icons/Youtube';
然而,这似乎非常冗长。有没有更简洁的方法来做到这一点?
我考虑过解构,但我不确定如何执行此操作,因为每个文件都位于不同的文件夹中。
解决方案
通常,您希望从单一来源导入类似的组件(您也将获得自动完成功能):
import {
FacebookIcon,
TwitterIcon,
DiscordIcon,
DiscordIcon,
MediumIcon,
YoutubeIcon,
} from "project/icons";
// Usage
<FacebookIcon/>
// Same
import Icons from './project/icons';
// Usage
const Icon = Icons.FacebookIcon;
<Icon/>
为此,请为每个组件创建index.js
文件project/icons
并进行命名导出。
export { default as FacebookIcon } from "./FacebookIcon";
...
推荐阅读
- r - R函数用任何整数替换字符
- android-studio - 使用 DragLinearLayout 时如何获取子位置
- python - 使用多边形坐标将带注释的图像转换为二进制蒙版图像
- gitlab - 尝试从 GitLab 将自定义 Helm 存储库添加到本地时出错
- python - 如何从 Python 中的字符串数组中删除正斜杠?
- python - 是否可以相对于屏幕尺寸设置海龟的位置
- flutter - NoSuchMethodError 被抛出构建选项卡(脏,状态:_TabsState#fefcf):方法 '[]' 在 null 上被调用
- sql - 我们可以更新定义为在不同表中定义的唯一记录的外键的记录吗?
- excel - 仅将 VBA 代码应用于主题中包含“字符串”的电子邮件
- ios - 使用 Apple 登录 - 使用设备(iPhone 或 iPad)Apple ID 时缺少电子邮件