Javascript 简单js模块的定义文件

Javascript 简单js模块的定义文件,javascript,node.js,typescript,typescript-typings,definitelytyped,Javascript,Node.js,Typescript,Typescript Typings,Definitelytyped,我正在尝试为一个小型npm commonjs库创建一个definitelyTypedDefinition文件,作为一些typescript实践。模块的导出如下所示: module.exports = useNative() ? NativeCustomEvent : // IE >= 9 'undefined' !== typeof document && 'function' === typeof document.createEvent ? function Cust

我正在尝试为一个小型npm commonjs库创建一个definitelyTypedDefinition文件,作为一些typescript实践。模块的导出如下所示:

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

如果你不考虑DT,你可以这样做:

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

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

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

似乎应该是NativeCustomEvent |类型:?,参数:?=>@d.T.中的工会?我只是想了解如何在d.ts中编写上述.jsYes的定义文件。对于NativeCustomEvent==global.CustomEvent,您需要使用@types/node as。查看关于d.ts.@unional基本结构的手册,那么我不应该尝试导出CustomEvent函数吗?js是一个CustomEvent PolyFill。我不仅可以在manualTypings.d.ts文件中包含declare模块和其他模块定义,还可以在tsconfig.json中包含:files:[manualTypings.d.ts],当然理想情况下,我不应该编辑我安装的节点模块的package.json?package.json意味着您将执行npm install@types/node。如果您的库只是使用自定义事件,那么您可以执行npm安装-D@types/node;对于我的app.ts main函数,当我调用:document.addEventListenerauth,event:AuthEvent=>{withAccountevent.detail;};其中AuthEvent扩展了CustomEvent。顺便谢谢你的帮助。非常感谢。只是检查一下,你做了npm i“定制活动”,对吗?检查它是如何使用的。可能不需要导入CustomEvent=require'custom-event'?我正在使用纱线,所以我添加了纱线自定义事件
// custom-typings/custom-event.d.ts
declare module "custom-event" {
  export = CustomEvent
}

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

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