我发布了一个 npm包(rotating-file-stream),该包直接导出我班上的构造函数:
rangeKey
有人要我添加 TypeScript 定义文件,但是很遗憾,我不知道 TypeScript 。
考虑到我的课程继承了 fs.WriteStream ,在一些贡献者的帮助下,我来到了以下定义文件:
function RotatingFileStream(filename, options) { ... }
module.exports = RotatingFileStream;
但是我在某处读到,导出默认函数并不是一个好主意。
您能建议我如何更改我的程序包和/或我的定义文件以实现以下目标吗?
谢谢你,
iCC
答案 0 :(得分:0)
您的程序包具有导出分配(将功能分配给module.exports
:CommonJS / Node特定的概念),但是您的声明文件具有ES6 默认导出。禁用esModuleInterop
编译器选项时,区别很重要,我猜想the bug的报告者就是这种情况。为了使声明文件更准确地匹配软件包,可以在其中使用导出分配:
function RotatingFileStream(fileName: string | Function, options: RfsOptions): WriteStream;
export = RotatingFileStream;
希望能解决记者的问题。