如何进口" TypeScript定义文件中的命名空间

时间:2017-07-24 21:50:34

标签: typescript

moment.js类型定义在namespace

中声明
declare namespace moment {
  interface Moment {
...

为了声明Moment类型的对象,我这样做:

let myMoment: moment.Moment;

我的问题是 - 有没有办法进行"导入" moment命名空间,所以我可以避免每次重复?非常像C#。

2 个答案:

答案 0 :(得分:3)

我不知道是否有办法“导入”整个命名空间,但你可以逐个项目地这样做:

type Moment = moment.Moment

答案 1 :(得分:0)

如果您可以使用ES6样式导入,那么您可以执行以下操作。

import { Moment, Duration, OrAnyOtherExportedMemberFromMoment } from "moment";
let myMoment: Moment;
let myDuration: Duration;

如果您在源文件的类型定义文件中需要这个:

compilerOptions.declaration设置为true中的tsconfig.json,并使用gulp-typescript(搜索tsResult.dts.pipe),您可以从源文件生成类型定义

希望这有帮助。