访问TypeScript中类型提示的全局范围

访问TypeScript中类型提示的全局范围,typescript,Typescript,我在Typescript中的类型暗示方面遇到了问题,无法指定全局类型 以下面的例子为例 // Builder.ts module Builder { class Block { // ... function uploadFile(file:File) { /* ... */ } } } //Blocks.ts module Builder { module Types { class Image { // ... function

我在Typescript中的类型暗示方面遇到了问题,无法指定全局类型

以下面的例子为例

// Builder.ts
module Builder {
  class Block {
    // ...
    function uploadFile(file:File) { /* ... */ }
  }
}

//Blocks.ts
module Builder {
  module Types {
    class Image {
      // ...
      function uploadFile(file:File) { /* ... */ }
    }
    class File {
      // ...
    }
  }
}
我在编译时遇到此错误:

错误TS2415:类“映像”不正确地扩展基类“块”。
属性“uploadFile”的类型不兼容。 类型'(文件:文件)=>void'不可分配给类型'(文件:文件)=>void'

这充其量只是一种误导

因此,在PHP中,您可以将File指定为\File以获取全局文件,但是我无法在TypeScript中找到/弄清楚如何执行此操作

从逻辑上(至少对我来说)它应该是
window.File

然而,我无法找到/弄明白如何在TypeScript中实现这一点

这是一个开放的功能要求:在这里你可以表达你的愿望

请注意,目前存在一种解决方法:


特别针对您的案例:

谢谢,我很惊讶这仍然是一个新的bug,因为它看起来相当成熟。我对typescript只是一个新手,但我认为任何规模合适的项目现在都会很好地解决这些问题。带有模块名称空间的单个文件在JavaScript/typescript中是无法扩展的。您更有可能更快地开始使用外部模块:绕过这个问题我理解这个概念,但是文件仍然在同一个项目中一起验证,因此即使文件和图像类位于不同的文件中,它们仍然位于同一名称空间中,因此仍然与全局冲突。像这样的一些项目,把它分割得太多是没有意义的,因为所有的文件都是必需的,并且是紧密耦合在一起的。