В Typescript 2.2 я пытаюсь определить модуль (HapiJS), который имеет различные параметры плагина.
Я преобразовал основной код в несколько файлов .d.ts, а затем импортировал и реэкспортировал их все из index.d.ts, используя следующий шаблон (как показано здесь):
export * from './hapi/connection';
export * from './hapi/reply';
export * from './hapi/request';
export * from './hapi/response';
export * from './hapi/route';
export * from './hapi/server_views';
export * from './hapi/server';
В отдельном модуле он расширяет их как показано здесь< /а>:
import * as hapi from 'hapi';
declare module 'hapi' {
interface IFileHandler {
/** path - a path string or function as described above (required). */
path: string | IRequestHandler<string>;
...
}
// Extending hapi core:
interface IRouteConfiguration {
file?: string | IRequestHandler<string> | IFileHandler;
Однако, когда я сделал это, все ссылки на IRequestHandler
выше ошибки: «Не удается найти имя« IRequestHandler ».». Если весь хапи-код переместить обратно в один гигантский index.d.ts, то он будет работать, как и ожидалось. Есть ли способ добиться этого, используя несколько файлов определения hapi?