我有一個像下面這樣的類:
// some npm module
export class User {
fname: string;
lname: string;
}
但是我不能從我的專案根目錄更新這個類的宣告,因為它是一個 npm 模塊。我想為這個類添加一個新的索引簽名,但我做不到!我嘗試了以下代碼,但它不起作用!
// file.d.ts
export declare class User {
customProperty: any;
}
uj5u.com熱心網友回復:
你不需要匯出declaration,你需要做的file.d.ts就是做這樣的事情,我axios在這里舉個例子:
declare module "axios" {
interface AxiosRequestConfig {
customProperty: "some-type";
}
interface AxiosInstance {
request<T = any>(config: AxiosRequestConfig): Promise<T>;
get<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
head<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
options<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
}
}
有關更多資訊,請閱讀 typescript 檔案中的模塊擴充:這是鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/414464.html
標籤:
