[英]Referencing external module in typescript - error TS2304: Cannot find name 'general'
我准備了這兩個文件:
第一個是general.d.ts文件
interface IgeneralStatic {
General: {
Langs: any;
};
}
declare var general: IgeneralStatic;
declare module 'general' {
export = general;
}
第二個只是我試圖導入文件別名的something.ts文件:
/// <reference path="general.d.ts" />
import general = require('general');
export class SpecificLangs extends general.General.Langs
...
}
當我嘗試編譯它時,出現此錯誤:
error TS2304: Cannot find name 'general'
原因是我不知道模塊在哪里,也無法導入它以供打字稿使用。 它在requirejs方面作為軟件包解決。 因此,無法使用導入的原始general.ts文件進行引用。
您的定義有效,因為您可以導入它...
例如,我可以像這樣引用Langs
:
var x = general.General.Langs;
但是,您尚未聲明Langs
是一類,因此您無法像將其那樣擴展它。
如果在一種方式,可以擴展它來實現,它聲明為一個類將允許它被用作基類(簡化的示例,以證明使用一個類的作品):
declare module 'general' {
export module General {
export class Langs {
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.