ser*_*can 6 mixins underscore.js typescript
我有以下代码片段来使用 sum 函数扩展下划线
//underscore.extension.ts
import * as _ from "underscore"
declare module "underscore" {
export interface UnderscoreStatic {
sum(items: number[]): number;
}
}
_.mixin({
sum: items => { return _.reduce<number, number>(items, function (s, x) { return s + x; }, 0); }
});
Run Code Online (Sandbox Code Playgroud)
然而,使用_。sum () 给我““UnderscoreStatic”类型上不存在属性“sum”。
好吧,有人告诉我这样做的正确方法吗?
进一步查找后,您还可以使用全局增强来解决您的问题(https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation)
import * as _ from "underscore"
declare global {
interface UnderscoreStatic {
sum(items: number[]): number;
}
}
_.mixin({
sum: items => { return _.reduce<number, number>(items, function (s, x) { return s + x; }, 0); }
});
Run Code Online (Sandbox Code Playgroud)
由于您的下划线混合必须至少运行一次,因此您必须尽早包含/要求这一修改,但在混合后您可以正常使用下划线包。
| 归档时间: |
|
| 查看次数: |
2757 次 |
| 最近记录: |