簡體   English   中英

在打字稿中引用外部模塊-錯誤TS2304:找不到名稱“通用”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM