Javascript 简单js模块的定义文件
我正在尝试为一个小型npm commonjs库创建一个definitelyTypedDefinition文件,作为一些typescript实践。模块的导出如下所示: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
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"
]
}