Сделайте TypeScript с JSDoc, чтобы увидеть справочные библиотеки без импорта - PullRequest
0 голосов
/ 26 декабря 2018

Я использую TypeScript для проверки типов (без отправки) проекта JavaScript.В проекте JavaScript я использую JSDoc для облегчения работы TypeScript, но я также использую сторонние пакеты, которые предоставляют свои собственные типы (не @types), и TypeScript не видит эти пакеты, потому что они упоминаются только с использованиемпростой тег script на странице.

Я не хочу писать наборы для того, что библиотеки вносят в window вручную, поскольку пакеты уже имеют свои собственные наборы, TypeScript просто не делаетувидеть их, и мне интересно, есть ли способ сделать так, чтобы он знал о них.

Я не могу использовать import или /// <reference, потому что исходные файлы - это файлы JavaScript, а не файлы TypeScript, и я должен придерживатьсяс тем, что позволяет JavaScript.

Я не могу использовать @types, потому что наборы приходят из пакетов напрямую, а не @types.Я мог бы npm install пакеты, но TypeScript не может знать, что проект ссылается на них (без импорта и т. Д.), Поэтому я предполагаю, что должен быть параметр компилятора, сообщающий об этом.

Я пробовал npm install использование пакетов NPM с зависимостями, которые TypeScript получает во время выполнения, используя script и настройку typeRoots:

"compilerOptions": {
  "typeRoots": [
    "node_modules/package"
  ]
}

Но это не имело никакого эффекта.

У меня также естьпопытался настроить "typeAcquisition" для выполнения моих ставок следующим образом:

{
  "typeAcquisition": {
    "enable": true,
    "include": [
      "package"
    ]
  }
}

Это тоже не сработало, что понятно, потому что я думаю, что это просто позволяет автоматически получать @types, когда в моем случаенаборы являются частью реального пакета, как я уже говорил ранее.

Как я могу заставить TypeScript знать мой проект JavaScript, он проверяет ссылки на пакеты так, как он не может видеть из источника, чтобы он загружал их наборы иглобальные объекты, предоставленные пакетами, становятся распознанными и проверенными типами?

1 Ответ

0 голосов
/ 27 декабря 2018

Попробуйте compilerOptions.types.Он содержит файлы объявлений типов для включения в компиляцию .

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