自己练习编写第三方库声明文件 遇到了几个问题 求解答
根据我了解的 包含顶级import或者export的文件都被当成一个模块
若 有export {} 是否在import 时需要按需引入类似这种 import { xx } from 'xxx' 这样引入呢? 那为什么第二种情况 不需要按需引入
若没有 则被认为是全局类型声明
declare module 'fake-progress' {
interface Options {
timeConstant: number,
autoStart?: boolean,
parent?: any,
parentStart?: any,
parentEnd?: any
}
export = FakeProgress;
class FakeProgress {
constructor(opts: Options);
progress: number;
_running: boolean;
start(): void;
end(): void;
stop(): void;
createSubProgress(opts: Options): any;
setProgress(progress: any): void;
_onInterval():void;
}
}
1.第一种情况
需要这样引入 而且可以提示参数
2.第二种情况 不写export
引入
3.第三种情况 需要增加 export = FakeProgress; 不提示参数
需要这样引入才不报错
4.第四种情况 看其他人写的都会有 export {} 但加上就会报错 不是很明白
引入报错