我正在尝试为小型npm commonjs库制作一个DefinitelyTyped定义文件,作为一些打字稿练习。该模块的导出如下所示:

module.exports = useNative() ? NativeCustomEvent :
// IE >= 9
'undefined' !== typeof document && 'function' === typeof
document.createEvent ? function CustomEvent (type, params) {...}
// IE < 9
: function CustomEvent(type, params) {...}


哪里

useNative是布尔函数,并且CustomEvent返回事件e和var NativeCustomEvent = global.CustomEvent

我只想为这个简单的模块编写一个干净的.d.ts文件。我只是迷失于尝试这样做。任何指针将不胜感激。



更新:

所以我有/node-modules/custom-event(js模块)
并添加到/node-modules/@types/名为/custom-event的文件夹中,在其中我添加了custom-event.d.ts

到目前为止的代码:

declare module "custom-event" {
    function CustomEvent(type: any, params: any): any
    export = CustomEvent
}

最佳答案

如果您不考虑DT,则可以执行以下操作:

// custom-typings/custom-event.d.ts
declare module "custom-event" {
  export = CustomEvent
}

// package.json
{
  "dependencies": {
    "@types/node": ...
  }
}

// tsconfig.json
{
  "include": [
    "custom-typings"
  ]
}

09-25 16:06