打字稿:库文件中名称空间和类的名称相同时,导入名称空间

时间:2019-08-09 21:36:34

标签: javascript angular typescript angular8 golden-layout

在从声明名称空间和具有相同名称的类的文件中导入名称空间时,我在访问名称空间时遇到问题。我可以访问该类,但不能访问名称空间。

docs开始,我认为从导出合并的命名空间和类的库中导入将为您提供两个声明的属性。但是,我只能从类中获取属性。

  

命名空间足够灵活,还可以与其他类型的   声明。为此,名称空间声明必须遵循   声明将与之合并。结果声明具有   两种声明类型的属性。 TypeScript使用此功能   为JavaScript中的某些模式以及其他模式建模   编程语言。

这是我的情况,

库文件:

class GoldenLayout {
}

namespace GoldenLayout {
    export interface Config {
    }
}

在我的项目中,我尝试使用Config界面。我正在尝试以这种方式使用它,

import * as GoldenLayout from 'golden-layout';

const INITIAL_LAYOUT = GoldenLayout.Config = {
};

但是,我得到一个错误

Property 'Config' does not exist on type 'typeof GoldenLayout'.

我可以在类GolderLayour中访问属性和方法,但是我不知道如何访问名称空间。

作为参考,我试图在Angular 8应用中使用此library

1 个答案:

答案 0 :(得分:2)

我认为您的问题是您没有定义Config而是双重分配。试试这个:

const INITIAL_LAYOUT: GoldenLayout.Config = { };