У меня возникла странная проблема сборки с typescript и @types/react
. У меня два конфигурационных файла typescript: один для файлов, которые используют реакцию, и один для тех, которые этого не делают. При создании части моего проекта, который не использует реакцию, я вижу следующую ошибку:
node_modules/@types/react/index.d.ts(3508,58): ошибка TS2304: не удается найти имя "HTMLDialogElement". node_modules/@types/react/index.d.ts(3508,78): ошибка TS2304: не удается найти имя "HTMLDialogElement". node_modules/@types/react/index.d.ts(3782,72): ошибка TS2304: не удается найти имя "HTMLDialogElement". node_modules/@types/react/index.d.ts(3782,92): ошибка TS2304: не удается найти имя "HTMLDialogElement".
Я смог воспроизвести ошибку с минимальным примером:
node_modules/typescript/bin/tsc typescript/foo.ts --outDir static/js/src --module none
Файл typescript/foo.ts
является минимальным файлом, который я использовал для воспроизведения проблемы, и намеренно коротким:
function printNumber(n: number) {
console.log(n);
}
let x = 3;
x *= 4;
printNumber(x);
Обратите внимание, что foo.ts
не имеет ссылок на какие бы то ни было реакции. Самая странная часть этого - когда я удаляю @types/react
, сообщения об ошибках уходят.
Что происходит?
EDIT: я нашел эту проблему, которая проявляется при версии tsc > 2.3.2. Я понизил tsc до версии 2.3.2, но проблема не устранена.