我的.cTags在大多数情况下都能正常工作。但是,在下面提到的情况下,它无法按预期工作。
目录结构
root
- a
- foo.js
- bar.js
- index.js
- b
- current-file.js
current-file.js
import { foo } from './a'
foo()
index.js
export { default as foo } from './foo'
foo.js
const foo = () => 'foo'
export default foo
当我试图从[[current-file.js跳转到foo
的定义时,它导航到a / index.js而不是a / foo.js]
大括号导入将首先查找名为a
的文件,如果找不到,它将使用其index.js
文件(自动解析,例如a/index.js
)查找名为'a'的目录。它不会在目录中查找文件。
花括号仅从文件中查找非默认导出,并且不通过目录查找。
[Example(注意:目录a
已重命名为c
,因为codeandbox在其引擎中保留了名称a
)]
您可以尝试删除/c.js
文件来加载c/index.js
文件。
此外,我建议您使用this thread,它可以为您提供有关js中大括号的更多提示
您可能可以使用fs.readDir API来读取目录,并自动require
/导出index.js
中的文件;但是index.js
将被加载。