【发布时间】:2017-11-27 08:58:38
【问题描述】:
我正在尝试为一个小型 npm commonjs 库创建一个肯定类型的定义文件,作为一些打字稿实践。模块的导出如下所示:
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
}
【问题讨论】:
-
好像应该是
NativeCustomEvent | (type: ?, params: ?) => ... -
@unional 在 .d.ts?我只是想锻炼如何编写上述.js的定义文件
-
是的,在 d.ts.对于
NativeCustomEvent == global.CustomEvent,您将需要使用@types/node。查看 d.ts 基本结构的手册。 -
@unional 所以我不应该尝试导出 CustomEvent 函数吗? .js 是一个 CustomEvent polyfill
标签: javascript node.js typescript typescript-typings definitelytyped