Как создать пакет с включенной опцией isolatedModules = true? - PullRequest
0 голосов
/ 23 ноября 2018

В файле, куда я экспортирую все классы моего пакета в строках, как показано ниже:

export {default as BoundList, IBoundListOption, TBoundListFilterFn} from './list/BoundList';

генерируются ошибки формы:

TS1205: Cannot re-export a type when the '--isolatedModules' flag is provided.

Как экспортироватьклассы сейчас?

Эта проблема возникла в CRA2.1.Был вынужден к изолированным модулям = true.Я делаю библиотеку компонентов на CRA2.1

Ответы [ 2 ]

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

github.com / babel / babel-loader / Issues / 603 (спасибо @ CollinD за ссылку) включает обходной путь для повторного экспорта импортированных типов. Этот комментарий по этому вопросу имеет лучшее объяснение обходного пути:

Вы все еще можете сделать are-export, если ясно, что вы экспортируете тип:

import { T as a_T } from "./a";
export type T = a_T;

Вы также можете сделать export * from "./a";.

Если я правильно читаю, что проблема GitHub корректна, только типы TS могут быть реэкспортированы, но значения (например, классы) не могутбыть реэкспортированным.Так что, если TS знает, что вы импортируете тип (а не класс), вы можете реэкспортировать его.

Вот еще один пример, который проще:

import { T } from "./a";
export type T = T;
0 голосов
/ 10 декабря 2018

Да - node_modules/fork-ts-checker-webpack-plugin/package.json это "версия": "0.2.2".

Похоже, что изменение было сделано в Microsoft / TypeScript # 15538 , так что если вы тестируете с 2.3Вы не увидите ошибку.Но он выйдет из строя, когда выйдет 2.4.

Тем не менее, ничего из этого не должно быть проблемой, если изолированные модули переопределены в true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...