Javascript 扩展数组';s原型未在typescript中生成

Javascript 扩展数组';s原型未在typescript中生成,javascript,typescript,webpack,Javascript,Typescript,Webpack,在我基于TypeScript的应用程序中,我想向数组原型添加一些功能 因此,我在我的项目中添加了一个文件Array.d.ts,其中包含: interface Array<T> { selectMany<TOut>(selectListFn: (t: T) => TOut[]): TOut[]; } 在另一个文件中,我将在DivisionResource[]-数组上使用“扩展名”,其中DivisionResource只是数组元素的具体类型。 Intellis

在我基于
TypeScript
的应用程序中,我想向
数组
原型添加一些功能

因此,我在我的项目中添加了一个文件
Array.d.ts
,其中包含:

interface Array<T> {
    selectMany<TOut>(selectListFn: (t: T) => TOut[]): TOut[];
}
在另一个文件中,我将在
DivisionResource[]
-数组上使用“扩展名”,其中
DivisionResource
只是数组元素的具体类型。 Intellisense在运行
webpack
时不会显示错误

TS2339:类型“DivisionResource[]”上不存在属性“selectMany”


我不明白这里缺少什么

应该将全局类型的合并换行为“global”,如下所示

declare global {
    interface Array<T> {
        selectMany<TOut>(selectListFn: (t: T) => TOut[]): TOut[];
    }
}
声明全局{
接口阵列{
selectMany(selectListFn:(t:t)=>TOut[]):TOut[];
}
}


您还可以尝试将声明文件的三重斜杠引用添加到.ts文件中

/// <reference path="../Array.d.ts" />
//

This throws
TS2669:全局范围的扩展只能直接嵌套在外部模块或环境模块声明中。
你说得对,我也遇到了这个错误(使用TS 2.6.2)。能否尝试将定义文件的引用添加到.ts文件中///
/// <reference path="../Array.d.ts" />