在Typescript 2中导出函数和命名空间的组合

时间:2016-09-09 19:06:09

标签: typescript knex.js

这个问题是由Types 2.0 Knex Declarations推动的。

阅读Typescript-Handbook Declaration Files Deep Dive后,我仍然无法理解出现问题或如何解决问题。

在Knex.js类型声明中,有3个相同名称的声明,后面跟着该名称的导出:

interface Knex extends Knex.QueryInterface { /*...*/ }

declare function Knex(config: Knex.Config): Knex;

declare namespace Knex { /*..*/ }

export = Knex;

当我导入Knex时:

import * as Knex from 'knex';

我希望可以访问Knex函数,接口类型和AND名称空间。但是,我的tsc(版本2.0.2 typescript @ rc)似乎只是导入Knex函数。

为什么我无法访问命名空间的属性?是否有建议的方法来更改类型声明,以便我可以访问命名空间的属性?

0 个答案:

没有答案