Javascript 有没有办法在TypeScript中扩展同名的第三方库类型

Javascript 有没有办法在TypeScript中扩展同名的第三方库类型,javascript,angular,Javascript,Angular,日期库具有DateTime类型。而不是直接从luxon库导入DateTime,就像从'luxon'导入{DateTime}我希望扩展库以使用可在项目组件中使用的自定义类型,这将使我们能够在将来的某个位置用另一个位置替换第三方库(如果需要) 第一个问题:没有自定义扩展库,有什么简单的方法可以做到这一点吗? 如果没有,那么是否可以使用相同的名称?(AFAIK编号) 这是可行的,但是有没有办法去掉前缀名呢 然后在组件中导入自定义日期时间 从'somewhereInProject'导入{CustomDa

日期库具有
DateTime
类型。而不是直接从
luxon
库导入DateTime,就像从'luxon'导入{DateTime}我希望扩展库以使用可在项目组件中使用的自定义类型,这将使我们能够在将来的某个位置用另一个位置替换第三方库(如果需要)

第一个问题:没有自定义扩展库,有什么简单的方法可以做到这一点吗? 如果没有,那么是否可以使用相同的名称?(AFAIK编号)

这是可行的,但是有没有办法去掉前缀名呢

然后在组件中导入自定义日期时间

从'somewhereInProject'导入{CustomDateTime}

这很有效

import {DateTime as LuxonDateTime} from 'luxon'

export interface DateTime extends LuxonDateTime {
    
}
这很有效

import {DateTime as LuxonDateTime} from 'luxon'

export interface DateTime extends LuxonDateTime {
    
}

您应该能够在项目的任何目录中创建一个名为DateTime的新文件、类或接口。将luxon库导入到该文件中,然后使用DateTime名称将新创建的文件导入到所需的任何位置,但使用新的导入。导入名称取决于文件的位置,因为名称空间在TypeScript中并不真正使用。然后,如果您更改了基本库,您所要做的就是更改自定义DateTime类文件中的导入位置,前提是存在相同的方法和属性。您是说允许导出接口DateTime extends DateTime{}
吗?哦,是的,我想您是对的,会出现名称冲突。这个链接有用吗?这就是:从“../myCustomDateTimeClass”导入{CustomDateTime as DateTime}您应该能够在项目的任何目录中创建一个名为DateTime的新文件、类或接口。将luxon库导入到该文件中,然后使用DateTime名称将新创建的文件导入到所需的任何位置,但使用新的导入。导入名称取决于文件的位置,因为名称空间在TypeScript中并不真正使用。然后,如果您更改了基本库,您所要做的就是更改自定义DateTime类文件中的导入位置,前提是存在相同的方法和属性。您是说允许导出接口DateTime extends DateTime{}吗?哦,是的,我想您是对的,会出现名称冲突。这个链接有用吗?所以应该是:从“../myCustomDateTimeClass”导入{CustomDateTime as DateTime}