當我想要訪問某些模塊中的靜態類屬性時,出現typecript錯誤的問題。當使用靜態類屬性時,屬性X在類型Y上不存在
比方說,我要出口一些類靜態屬性:
// MODULE 1
export class AppConfig {
static readonly apiKey: string = process.env.API_KEY;
}
在模塊2我創建了某個對象的接口;
// MODULE 2
import { AppConfig } from "./appConfig";
interface AppContext {
config: AppConfig;
...
}
export default class App {
...
get ctx(): AppContext {
return {
config: AppConfig,
...
};
}
...
}
在模塊3我終於想訪問屬性:
// MODULE 3
...
function createContext(app: App): object {
return Object.assign(app.ctx, {
apiContext: app.ctx.config.apiKey
});
}
...
然後我得到TS ERROR: 「屬性 'apiKey' 上鍵入 'AppConfig的' 不存在」,這很奇怪,因爲這個屬性無疑屬於這種類型。
其實,我已經實現了建議的方法,但我認爲應該有另一種方法來實現所需的輸出而不使用接口。我想沒有... –