javascript – moment-duration-format.d.ts定义不扩展时刻模块

前端之家收集整理的这篇文章主要介绍了javascript – moment-duration-format.d.ts定义不扩展时刻模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
知道为什么这不起作用或如何扩展持续时间接口以支持格式功能
declare module 'moment' {
     interface Duration {
       format(template: string,precision?: string,settings?: any): string;
     }

}

当用作:

moment.duration(minutes,'minutes').format('mm');

我收到“持续时间”类型中“格式”不存在的错误

解决方法

进口:
import * as moment from 'moment';
import 'moment-duration-format';

在您的课程之外,定义接口:

interface Duration extends moment.Duration {
  format: (template?: string,precision?: number,settings?: DurationSettings) => string;
}

interface DurationSettings {
  forceLength: boolean;
  precision: number;
  template: string;
  trim: boolean | 'left' | 'right';
}

然后在你的代码中:

const duration = moment.duration(minutes,'minutes') as Duration;
return duration.format('mm');

如果您在另一个文件中定义了Duration接口,则还需要导出和导入它.

猜你在找的JavaScript相关文章