次のような行でパッケージのすべてのクラスをエクスポートするファイルで:
export {default as BoundList, IBoundListOption, TBoundListFilterFn} from './list/BoundList';
フォームのエラーが生成されます:
TS1205: Cannot re-export a type when the '--isolatedModules' flag is provided.
クラスをエクスポートするにはどうすればよいですか?
この問題はCRA2.1で発生しました。 isolatedModules = trueが強制されました。 CRA2.1でコンポーネントライブラリを作成しています
github.com/babel/babel-loader/issues/6 (リンクのおかげで @ CollinD に感謝)には、インポートされたタイプを再エクスポートする方法の回避策が含まれています。 このコメント その問題についての回避策の最も良い説明があります:
タイプをエクスポートしていることが明らかな場合でも、are-exportを実行できます。
import { T as a_T } from "./a"; export type T = a_T;
"./a";から*をエクスポートすることもできます。
GitHubの問題を正しく読んでいる場合、再エクスポートできるのはTSタイプのみですが、値(クラスなど)は再エクスポートできません。したがって、TSが(クラスではなく)タイプをインポートしていることを認識している場合は、そのタイプを再エクスポートできます。
より簡単な別の例を次に示します。
import { T } from "./a";
export type T = T;
はい - node_modules/fork-ts-checker-webpack-plugin/package.json
は「バージョン」:「0.2.2」です。
変更はMicrosoft/TypeScript#15538で行われたようです。そのため、2.3でテストした場合、エラーは表示されません。しかし、2.4がリリースされると壊れるでしょう。
それでも、isolatedModulesがtrueにオーバーライドされている場合、これは問題になりません。