2015-04-28 63 views
1

我准备这两个文件:引用的打字稿外部模块 - 错误TS2304:找不到名称“一般”

1日一个是general.d.ts文件

interface IgeneralStatic { 
    General: { 
     Langs: any; 
    }; 
} 

declare var general: IgeneralStatic; 

declare module 'general' { 
    export = general; 
} 

:第二个就是什么。当我试图编译它我得到这个错误

/// <reference path="general.d.ts" /> 

import general = require('general'); 

export class SpecificLangs extends general.General.Langs 
    ... 
} 

在那里我试图导入文件别名TS文件0
error TS2304: Cannot find name 'general' 

这个原因,我不知道我的模块在哪里,我不能导入它的打字稿用法。它在requirejs方面作为包装解决。所以没有办法引用,使用import,原始的general.ts文件。

回答

1

您定义的作品,你可以导入...

例如,我可以引用Langs像这样:

var x = general.General.Langs; 

但是,你有没有宣布Langs是一类,所以你不能将它扩展为一个。

如果的方式,允许扩展它来实现,它声明为一个类将允许它被用作基类(简化的例子来说明,使用一类的作品):

declare module 'general' { 
    export module General { 
     export class Langs { 


     } 
    } 
}