假设我写了一个组件并把与它相关的文件放在了一个文件夹下:
HelloWorld
index.tsx
interface.ts
其中 index.tsx 引用了 interface.ts 中的类型并 default export 了组件
想使用这个组件的话会这样引用: import HelloWorld from '../../HelloWorld'
由于组件是在 HelloWorld 里面的 index.tsx 被 default export 的,所以不需要这样写: import HelloWorld from '../../HelloWorld/index'
也就是说 index 是个特殊的文件名,代表该文件夹下的默认文件
现在我想要从外部引用 interface.ts 里面的类型, 看到一些库会把类型文件叫做 index.d.ts 或者 interface.d.ts, 所以我也尝试改文件名(interface.ts -> interface.d.ts | index.d.ts)并期待能够这样做: import { MyType } from '../../HelloWorld'
但是好像不行, 请问下 *.ts
和 *.d.ts
有什么区别,index.d.ts
和 interface.d.ts
是会被特殊处理的文件名吗?谢谢
当然我可以在 index.ts 去 import 类型再 export 它们,这样就能直接在外面用了,但感觉有点麻烦
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.