Невозможно повторно экспортировать тип при использовании --isolatedModules с TS 3.2.2. - PullRequest
0 голосов
/ 11 декабря 2018

Мне, вероятно, нужно переосмыслить то, как мы структурируем наши компоненты React.Мы используем последние реагирующие сценарии, которые позволяют использовать Typescript, и по умолчанию включается isolatedModules, что в настоящее время немного меня беспокоит.

Мы использовали для структурирования компонента, подобного этому:

Component
|_ Component.tsx
|_ index.ts
|_ types.ts
  • Component.tsx содержит фактический компонент без объявлений
  • index.ts просто реэкспортирует все, поэтому мы можем иметь единственную точку входа и делать что-то вроде import Component, { ComponentType } from '@/Component';

  • types.ts содержит фактические определения типов и экспортирует большинство или все из них.

Пока все хорошо, и это работает безisolatedModules.Однако мы также экспортируем некоторые определения типов, эффективно реэкспортируя интерфейсы, указанные в Component/types.ts.Это не будет работать, так как сам TypeScript больше не будет переносить код.

Как я могу реэкспортировать это, не имея отдельного оператора импорта, переходящего к @/Component/types (который в любом случае может быть более простым)

1 Ответ

0 голосов
/ 17 декабря 2018

Я использую ту же структуру лично и столкнулся с той же проблемой после перехода к шаблону create-react-app, который обеспечивает isolatedModules.Обходной путь, который, кажется, работает в резком контрасте с идеей isolatedModules, заключается в использовании export * from "./Component"; в index.ts.

...