导出“index.ts”中的所有文件

the*_*man 16 javascript node-modules typescript reactjs react-native

希望能够components直接从目录导入目录中的任何组件components

\n

当前的目录结构是:

\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 components\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Camera.tsx\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Keyboard.tsx\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.ts\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 screens\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 App.tsx\n
Run Code Online (Sandbox Code Playgroud)\n

并希望能够按如下方式导入:

\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 components\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Camera.tsx\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Keyboard.tsx\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.ts\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 screens\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 App.tsx\n
Run Code Online (Sandbox Code Playgroud)\n

第一个选择显然是维护一长串导出列表src/components/index.ts

\n
// src/screens/App.tsx\n\nimport { Keyboard } from \'../components\'\n
Run Code Online (Sandbox Code Playgroud)\n

然而,这维护起来很麻烦。有没有一种方法使用glob导出对象来自动导出所有组件,或者可能有另一种方式一起导出?

\n

Jos*_*eph 15

您可以通过编辑您的index.ts内容来实现这一点

\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 components\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Camera.tsx\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Keyboard.tsx\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.ts <=== this file\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 screens\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 App.tsx\n
Run Code Online (Sandbox Code Playgroud)\n
export * from './Camera'\nexport * from './Keyboard'\n
Run Code Online (Sandbox Code Playgroud)\n


Jir*_*vec 5

既然您使用的是 TypeScript,为什么不像这里paths描述的那样使用 TsConfig呢?