2
功能
说我有一个函数的表达式中调用运行:添加属性与打字稿
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认为我没有默认属性的属性类型,但我很确定我使用了名称空间声明......还是不是?所以这个错误困惑 - 错误/警告似乎不正确。
嗯,谢谢你,但在我的代码的默认属性应指向运行函数有一个默认属性,它指向一个具有默认属性的运行函数。这只是一个循环引用,不知道我有什么问题,但也许这个解决方案将工作,谢谢! –
我想你所说的是,默认属性没有附加到运行函数,直到声明之后......这一定是问题所在。此解决方案似乎工作,谢谢。 –
是的,你知道了。 – cartant