sir*_*cco 7 typescript typescript-typings
我有一个小型的ts库,可以作为UMD输出,我也可以通过tsconfig自动输出*.d.ts文件:"declaration": true
.
正在导出的文件如下所示:
export class Blue {
alert(): void {
console.log('alerted');
}
}
Run Code Online (Sandbox Code Playgroud)
使用导出的UMD模块声明window.myLib
变量.
d.ts文件如下所示:
export declare class Blue {
alert(): void;
}
Run Code Online (Sandbox Code Playgroud)
现在,无论是通过webpack,还是我还没有找到的typescript选项,我还想在d.ts文件中生成以下行:
export as namespace myLib;
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?谢谢.
而不仅仅是:
export class Blue {
alert(): void {
console.log('alerted');
}
}
Run Code Online (Sandbox Code Playgroud)
尝试:
class Blue_ {
alert(): void {
console.log('alerted');
}
}
export { Blue_ as Blue };
declare global {
namespace myLib {
let Blue: typeof Blue_;
}
}
Run Code Online (Sandbox Code Playgroud)
这将生成以下声明文件:
declare class Blue_ {
alert(): void;
}
export { Blue_ as Blue };
declare global {
namespace myLib {
let Blue: typeof Blue_;
}
}
Run Code Online (Sandbox Code Playgroud)
现在myLib.Blue
可以在全球范围内访问,并且还class Blue
可以像import { Blue } from '...'
. 这相当于export as namespace myLib;
在声明文件中包含。
希望这可以帮助。
归档时间: |
|
查看次数: |
517 次 |
最近记录: |