Компиляция / копирование объявлений TypeScript в наш каталог - PullRequest
2 голосов
/ 12 марта 2019

У меня есть модуль в TypeScript, и когда он компилируется, он не копирует мои файлы пользовательских объявлений, такие как интерфейсы.

Пример конфигурации:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "declaration": true,
    "outDir": "./lib",
    "strict": true,
    "typeRoots": ["node_modules/@types"],
    "esModuleInterop": true
  },
  "include": ["src/**/*.ts"],
  "exclude": ["dist", "lib", "node_modules"]
}

Когда я компилирую файлы, файлы объявлений и файлы JavaScript создаются в папке lib благодаря флажку declaration. Однако мои пользовательские интерфейсы не копируются в lib, и они могут быть полезны.

Пример структуры:

/lib
 - index.d.ts // It contains an error because it is trying to export interface, and it is not in the folder
 - index.js
 - example.js
 - example.d.ts
 - interface.d.ts // missing!!
/src
 - index.ts // Here is exported my interface and example function
 - example.ts
 - interface.d.ts

Я мог бы удалить расширение .d, но тогда файлы были бы сгенерированы как пустой модуль JavaScript.

Возможно, эти файлы будут находиться в папке lib напрямую, когда я компилирую с помощью TypeScript, или я должен скопировать файлы после этого с помощью некоторой команды: ex cp src/*.d.ts lib/

Я не хочу использовать метод копирования, потому что все интерфейсы будут экспортированы, и я просто хочу экспортировать интерфейсы, экспортированные / используемые в модуле index.d.ts. Может быть, нет другого варианта.

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