typescript - 在typescript错误 TS2304,引用外部模块: 找不到名称'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'

我不知道模块在哪里,不能将它导入到typeScript使用中,它在requirejs方面被解析为包,因此,没有办法使用导入到原始general.ts文件来引用。

时间:

你的定义起作用,可以导入它。

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


var x = general.General.Langs;

但是,你还没有声明Langs是类,因此不能将它扩展,就像它是一个类一样。

如果以允许扩展的方式实现,将它声明为类,将允许将它用作基类(简化例子以演示使用类):


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


 }
 }
}

...