Это проблема с приложением Angular, но я не думаю, что это проблема, специфичная для углов.
Я работаю над приложением Angular 7 и работаю с несколькими библиотеками, которые импортируются с помощью тегов сценария на внешнем интерфейсе из других источников (Stripe, recaptcha, googletags и т. Д.). Я буду использовать Stripe в качестве примера здесь, потому что Stripe абсолютно требует, чтобы клиентская библиотека импортировала из Stripe.js
клиентом для соответствия PCI, поэтому со стороны исходного сервера это не вариант.
Я установил типы для Stripe
из DefiniteTyped. Если я добавлю declare let Stripe: any;
и использую Stripe
в компоненте, он будет работать, но, конечно, это не типобезопасно. Если я опускаю объявление, VSCode находит типы нормально, и редактор улавливает ошибки типов, но не компилируется, (error TS2304: Cannot find name 'Stripe'.
) предположительно, потому что у меня нет оператора import
для Stripe.
Есть ли способ намекнуть TypeScript, что он должен использовать типы из DefiniteTyped для отлова ошибок типов без импорта самой библиотеки Stripe?
Редактировать: Я забираю то, что сказал, не думая, что это специфично для Angular. Теперь я думаю, что это может быть связано с процессом угловой компиляции.