2015-12-20 1 views
0

Если TypeScript должен быть строгим надмножеством JavaScript (как рекламируется), то почему я не могу просто импортировать внешнюю библиотеку, не ссылаясь на соответствующий файл d.ts, чтобы он работал? Почему я не могу использовать обычную библиотеку JavaScript, как есть (без проверки типов)?Почему TypeScript требует «файлов декларации» для использования внешних библиотек?

ответ

4

Он не требует от вас этого. Вы можете использовать внешние библиотеки без деклараций.

Вся идея машинописного текста заключается в том, чтобы избежать опечаток и неправильной обработки типов. Если бы вы использовали внешние модули без какой-либо информации о типе, то в чем смысл машинописного текста?

Наконец, вы можете избежать необходимости деклараций, используя следующий синтаксис:

const module = require('module'); 
+0

Я использую Машинопись для компиляции вниз ES6 кода для старых браузеров, а также для проверки типов моего собственного кода. Мне не нужны библиотеки сторонних разработчиков, но Visual Studio все еще жалуется, что «не может найти имя», если я не ссылаюсь на файл 'd.ts', это проблема. – Sunny

+0

Для 1-го случая вы можете просто использовать babel. Все дело в проверке типов. Для второго просто используйте «const» вместо «import». – Louy

+0

Я использую 'const', но все равно получаю ошибку. Я использую Visual Studio 2015 и TypeScript 1.7.4. – Sunny

Смежные вопросы