Common Errors
У цьому розділі ми пояснюємо деякі поширені коди помилок, з якими користувачі стикаються в реальному кодуванні.
TS2304
Приклади:
Cannot find name gaCannot find name $Cannot find module jquery
Можливо, ви використовуєте сторонню бібліотеку (наприклад, google analytics) і не задекларували її. TypeScript намагається вберегти вас від орфографічних помилок та використання змінних без їх оголошення, тому вам потрібно явно вказати все, що є доступним під час виконання, включаючи зовнішні бібліотеки (детальніше про способи виправлення).
TS2307
Приклад:
Cannot find module 'underscore'
Ви, ймовірно, використовуєте сторонню бібліотеку (наприклад, underscore) як модуль (докладніше про модулі) але не маєте файлу оголошення для нього (детальніше про оголошення на ambient).
TS1148
Приклад:
Cannot compile modules unless the '--module' flag is provided
Перевірте розділ про модулі.
Catch clause variable cannot have a type annotation
Змінна в операторі catch не може мати анотацію типу Приклад:
try { something(); }
catch (e: Error) { // Catch clause variable cannot have a type annotation
}TypeScript захищає вас від некоректного JavaScript-коду зі сторони. Використайте замість цього захист типів (type guard):
try { something(); }
catch (e) {
if (e instanceof Error){
// Here you go.
}
}Interface ElementClass cannot simultaneously extend types Component and Component
ElementClass cannot simultaneously extend types Component and ComponentІнтерфейс ElementClass не може одночасно розширювати типи Component та Component.
Це відбувається, коли у контексті компіляції є два файлу react.d.ts (@types/react/index.d.ts).
Виправити:
Видаліть
node_modulesі будь-якийpackage-lock(або yarn lock) і знову виконайтеnpm install.Якщо це не працює, знайдіть невірний модуль (всі модулі, що використовуються вашим проектом, повинні мати
react.d.tsякpeerDependency, а не як жорсткуdependency) і зазначте це у своєму проекті.
Last updated