1
鑑於以下導入時解決打字稿裝飾的簽名:無法從另一個文件
decorator.ts
export function logStuff(target: Object, key: string | symbol, descriptor: TypedPropertyDescriptor<any>) {
return {
value: function (...args: any[]) {
args.push("Another argument pushed");
descriptor.value.apply(target, args);
}
};
}
Shell.ts
// Removed other imports for brevity
import logStuff = require("utils/log-decorator");
class Shell extends AnotherClass {
constructor() {
super();
this.fooMethod("arg1");
}
@logStuff
private fooMethod(arg1: string, arg2?: string) {
console.log(`Arguments from original function: ${JSON.stringify(arguments)}`);
}
}
export = Shell;
我得到這個消息(爲簡潔起見,縮短了文件路徑):
當作爲 表達式調用時,無法解析方法裝飾器的簽名。無法調用其類型缺少呼叫 簽名的表達式。類型「的typeof ‘/ utils的/註銷裝飾’」有沒有 兼容調用簽名
但是,如果我移動功能Shell.ts的頂部,它編譯沒有錯誤。有關如何處理這個問題的任何建議?