Javascript 如何配置Babel(或Babel插件)自动将目录导入转换为目录中的文件?

Javascript 如何配置Babel(或Babel插件)自动将目录导入转换为目录中的文件?,javascript,reactjs,babeljs,Javascript,Reactjs,Babeljs,在编写React组件时,我发现自己在组件需要支持文件(CSS模块、图像等)时采用了这种目录样式: 文件中的主组件与目录名相同(因为如果主代码始终位于目录index.jsx,那么所有代码编辑器选项卡都会显示“index”,这会很快让人困惑) 但这需要一个小的src/components/Complex/index.js文件,其中包含从“/Complex”导出默认值如果任何人想要尝试从src/components/Complex导入复杂,则使用与导入src/components/Simple相同的方

在编写React组件时,我发现自己在组件需要支持文件(CSS模块、图像等)时采用了这种目录样式:

文件中的主组件与目录名相同(因为如果主代码始终位于目录
index.jsx
,那么所有代码编辑器选项卡都会显示“index”,这会很快让人困惑)

但这需要一个小的
src/components/Complex/index.js文件,其中包含
从“/Complex”导出默认值
如果任何人想要尝试从
src/components/Complex
导入复杂,则使用与导入
src/components/Simple
相同的方式。此解决方案允许导入工作,但会在构建中添加额外的存根模块

我将如何配置Babel(或Babel插件)以转换如下导入:

import Complex from 'src/components/Complex';
import Complex from 'src/components/Complex/Complex';
进入这个:

import Complex from 'src/components/Complex';
import Complex from 'src/components/Complex/Complex';
当目标路径是目录(并且不包含任何
index.js
/
index.jsx
文件)时?

例如,给定这些文件:

src/components/Complex/Complex.jsx
src/components/Manual/index.jsx
src/components/Simple.jsx
这些进口产品:

import Complex from 'src/components/Complex';
import Manual from 'src/components/Manual';
import Simple from 'src/components/Simple';
Babel将传输到类似这样的内容(不包括
\u interopRequireDefault
包装):


是否使用导出默认值?@BrandonKnight是的,所有文件都有与文件名匹配的默认导出