将符号导出为“ module.exports”,但将类型声明保留在TypeScript中

时间:2019-02-01 12:16:41

标签: javascript node.js typescript commonjs es6-modules

我正在用TypeScript开发一个node.js插件。

要求是将其直接导出为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';

使用者能否从我的模块及其主要符号中导入类型?

0 个答案:

没有答案