【发布时间】:2015-09-16 21:23:01
【问题描述】:
我创建了简单的打字稿文件 - playground link。
module Animals {
export class Zebra { }
}
module Animals {
export interface Legged { numberOfLegs: number; }
export class Dog { }
}
在我看来,它相当于:
module Animals {
export class Zebra { }
export interface Legged { numberOfLegs: number; }
export class Dog { }
}
并且应该生成:
var Animals;
(function (Animals) {
var Zebra = (function () {
function Zebra() {
}
return Zebra;
})();
Animals.Zebra = Zebra;
var Dog = (function () {
function Dog() {
}
return Dog;
})();
Animals.Dog = Dog;
})(Animals || (Animals = {}));
但在 Playground 中,您可以看到它生成了两个 Animals 变量,即将其视为单独的命名空间。
正确吗?根据handbook应该合并...
编辑
根据定义文件 (d.ts) 的旁注 - 当我使用 --declaration 开关运行 tsc 时,会生成以下定义。模块动物包括两次。这是对的吗?
declare module Animals {
class Zebra {
}
}
declare module Animals {
interface Legged {
numberOfLegs: number;
}
class Dog {
}
}
【问题讨论】:
标签: javascript typescript