Экспортируйте символ как «module.exports», но сохраняйте объявления типов в TypeScript - PullRequest
0 голосов
/ 01 февраля 2019

Я разрабатываю плагин node.js в TypeScript.

Требуется экспортировать его как module.exports напрямую, например, при компиляции index.js должно выглядеть следующим образом:

module.exports = require('./src/plugin.js').default;

Мой plugin.ts выглядит следующим образом:

import {Options} from './types';

export default function myPlugin(options?: Partial<Options>): any {
  // ...
}

Я могу достичь желаемого результата, написав мой index.ts так:

import myPlugin from './src/plugin';

export = myPlugin;

Однако, если яДля этого тип Options не будет экспортирован в определениях типов.

И невозможно использовать конструкцию export = module с другими экспортами для типов.

Я хочу, чтобы потребительбыть в состоянии импортировать как функцию плагина, так и типы для нее:

import myPlugin = require('@acme/my-plugin');

import {Options} from '@acme/my-plugin';

Может ли потребитель иметь возможность импортировать типы из моего модуля, а также его основной символ?

...