Запуск `tsc` в проекте с использованием Webpack выдает ошибки, которых нет в Webpack - PullRequest
0 голосов
/ 29 апреля 2018

Я использую Webpack для создания своего проекта Typescript. Тем не менее, веб-пакет замедляется, так как мой проект становится все больше.

Я хочу разбить проверку машинописи на отдельный процесс, используя tsc.

Однако, когда я запускаю tsc в моем проекте, я получаю ошибки объявления типов, которые не появляются при использовании ts-loader для Webpack.

Я думаю, что это связано с тем, как машинописный текст и веб-пакет отличаются в импортируемых модулях.

Разрешение модулей: Очень важно знать, что этот плагин использует машинопись, не разрешение модулей webpack. Это означает, что вы должны настроить tsconfig.json правильно. Например, если вы установили файлы: ['./src/someFile.ts'] в tsconfig.json, этот плагин будет проверять только someFile.ts для семантических ошибок. Это из-за производительности. Цель этого плагина должен быть максимально быстрым. С модулем машинописи разрешение нам не нужно ждать веб-пакет для компиляции файлов (что пересекает граф зависимостей во время компиляции) - у нас есть полный список файлов с самого начала. https://github.com/Realytics/fork-ts-checker-webpack-plugin#modules-resolution

Вот несколько примеров ошибок:

node_modules/@types/node/index.d.ts:143:13 - error TS2300: Duplicate identifier 'require'.
node_modules/@types/react-native/index.d.ts:8719:14 - error TS2300: Duplicate identifier 'require'.
node_modules/@types/react-native/index.d.ts:8745:18 - error TS2717: Subsequent property declarations must have the same type.  Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'.
node_modules/@types/webpack-env/index.d.ts:203:13 - error TS2300: Duplicate identifier 'require'.
node_modules/rxjs/scheduler/VirtualTimeScheduler.d.ts:24:15 - error TS2416: Property 'work' in type 'VirtualAction<T>' is not assignable to the same property in base type 'AsyncAction<T>'.

подробнее здесь: https://gist.github.com/IanEdington/b1567b2cabae262eac8a6ef6a4206d4b

1 Ответ

0 голосов
/ 30 апреля 2018

Спасибо @ qDot за выяснение этого: https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/116#issuecomment-385286544

Это проблема при конфликте библиотек узлов и машинописи. См:

https://github.com/Microsoft/TypeScript/issues/23769

Быстрое исправление: вернитесь к @types/node v9.6.7, пока не будет исправлено v10.

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