Как создать файл определения типа из файлов TypeScript? - PullRequest
0 голосов
/ 14 сентября 2018

Я создал некоторые классы и модули в TypeScript.Другие приложения TypeScript могут напрямую использовать файлы TS без определения типа.Тем не менее, для публикации в npm, я думаю, мне нужно опубликовать как файлы JS, так и файлы определения типов.Я думаю, что может быть расточительно создавать файлы d.ts вручную, поэтому как создать файлы определения типа из файлов TypeScript?

1 Ответ

0 голосов
/ 14 мая 2019

Короткий ответ

Добавьте "declaration": true к вашему tsconfig, чтобы генерировать файлы * .d.ts вместе с * .js файлами

Длинный ответ

Для публикации *Файлы .js и * .d.ts в npm, но не в github (обычно вы хотите сохранить только источник в вашем контроле исходного кода), вам нужно сделать несколько вещей:

  1. Добавить "declaration": true в tsconfig
  2. Добавить "outDir": "dist" в tsconfig
  3. Добавить dist в .gitignore
  4. Добавить .npmignore как .gitignore, но без dist
  5. Добавить "main": "dist/index.js" в пакете.json (обратите внимание на суффикс "js" и каталог dist)
  6. Добавьте "types": "dist/index.d.ts" в package.json (на этот раз обратите внимание на суффикс "ts" и каталог dist)

(Имена и каталоги ваших файлов, конечно, могут отличаться, в приведенном выше примере предполагается, что ваш дистрибутивный каталог dist, а ваша основная точка входа - index.ts)

Это без настройки сценариев сборки, просто минимумопубликовали то, что вам нужно, чтобы другие модули и программы Node могли требовать, чтобы ваш модуль использовал оба JavaScript и TypeScript, без сохранения сгенерированных файлов под контролем исходного кода.

Подробнее см.

Это ответ, который янаписал во время подготовки моего выступления о Deno ( слайды , video ), пытаясь описать весь процесс публикации модулей Node, написанных на TypeScript, на npm, что именно вы здесь делаете, так что, возможно, выВы найдете больше полезной информации не только о создании файлов .d.ts, но и о других связанных с этим вещах.

...