let run = function(){
};
我想向此运行函数添加一个名为“默认”的属性,这是对自身的引用.
run.default = run;
这是为了支持JS中的多种模块导出格式.
这是我的实际代码:
namespace run {
export interface Run {
(paths: Array<string>, opts: run.IOpts, cb: Function): void
default: Run;
}
export interface IOpts {
babelExec?: string,
all?: boolean
}
}
const run : run.Run = function (paths: Array<string>, opts: run.IOpts, cb: Function): void {
//....
}
run.default = run;
export = run;
但我得到这个警告:
有谁知道为什么会出现该错误信息?
如您所见,TS认为我没有默认属性的属性类型,但是我很确定我使用名称空间声明…还是没有?如此错误所困扰-错误/警告似乎不正确.
解决方法:
由于分配给默认值的函数没有默认属性,因此会产生错误,它只是一个函数.
您已将default声明为Run,因此分配给它的任何内容都还必须具有default属性.
您可以将default设为可选:
default?: Run;
或者可以将其声明为函数:
default: (paths: Array<string>, opts: run.IOpts, cb: Function) => void;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。