Javascript 如何在TypeScript中使用瞬间持续时间格式?
我正在我的TypeScript(Ionic2/Angular2)项目中使用moment.js。接下来,我想尝试一个插件 我有npm包和类型定义,并且能够通过导入使用Javascript 如何在TypeScript中使用瞬间持续时间格式?,javascript,angular,typescript,momentjs,Javascript,Angular,Typescript,Momentjs,我正在我的TypeScript(Ionic2/Angular2)项目中使用moment.js。接下来,我想尝试一个插件 我有npm包和类型定义,并且能够通过导入使用 import moment from 'moment'; ... let duration = moment.duration(decimalHours, 'hours'); 我现在想用 我已通过npm install moment duration format--save安装,然后通过npm I@types/moment du
import moment from 'moment';
...
let duration = moment.duration(decimalHours, 'hours');
我现在想用
我已通过npm install moment duration format--save
安装,然后通过npm I@types/moment duration format--save
安装类型定义
我可以看到两个npm模块
和往常一样,关于如何使用这样的类型定义总是有一些谜团(包括导入在内的用法似乎从未出现在任何文档中)
我尝试添加import'moment duration format'代码>,从“时刻持续时间格式”导入持续时间代码>(力矩持续时间格式/index.d.ts'不是一个模块。)
我在尝试使用时出错,如下所示
let dd = moment.duration.format(400.99, 'hours').format('D:HH:mm');
// (TS error [ts] Property 'format' does not exist on type '(inp?: DurationInputArg1, unit?: DurationConstructor) => Duration'.
有人知道如何在TypeScript中使用它吗
提前感谢您将持续时间
用作属性,而不是调用它。尝试:
let dd = moment.duration(400.99, 'hours').format('D:HH:mm');
这实际上不是一个类型脚本问题。它也不适用于JavaScript。在JavaSctript中,当TypeScript不允许您在编译时执行时,您会遇到运行时错误(证明它的价值)。我也遇到了同样的问题
似乎类型定义中有错误。其他人的问题与您在此处看到的相同:
github上的pull请求中有一个问题的修复程序,不幸的是,该程序在未合并的情况下被关闭:
作为临时解决方法,您可以使用第一个链接的代码行。作为第二步,我们应该尝试在github上创建一个新的pull请求,以便在将来的版本中修复该问题。问题在于R_B_________________________________
我将为此创建一个新的pull请求,因为我的上一个请求由于lint错误而关闭
只要您可以像这里一样在项目中使用自定义类型定义
只需在项目中创建文件,它目前应该可以工作。我正在使用该解决方案,但现在看起来ype def已经修复。正在获取def类型的更新,以便我可以执行以下操作
import * as moment from 'moment';
import 'moment-duration-format';
let duration = moment.duration(decimalHours, 'hours') ;
let options : moment.DurationFormatSettings = {
forceLength : false,
precision : 0,
template : formatString,
trim : false
};
let result = duration.format(formatString, 0, options);
谢谢,但仍然无法让它工作,因为我不知道如何导入。我从“时刻”导入了时刻;导入“时刻持续时间格式”
然后尝试上述操作,但我得到的TS错误[TS]属性“format”不存在于类型“Duration”
。我就是不能让它“看到”这个时刻持续时间格式
插件。还尝试了从“时刻持续时间格式”导入持续时间代码>但这也不起作用。您需要安装键入定义“@types/moment duration format”和--save dev;)您是如何更新类型定义的?哪个版本?我使用的是最新版本(moment 2.29.1和moment duration format 2.3.2),但仍然存在类型问题。