当前位置: 首页 > 知识库问答 >
问题:

类型“Duration”上不存在属性“format”

居晗日
2023-03-14

我试图在TypeScript中使用“时刻-持续时间格式”,但即使它有效,webpack仍不断抱怨它无法在线找到“格式”方法:

return moment.duration(value, "minutes").format("...");

这里是package.json

{
  "devDependencies": {
    "@types/moment-duration-format": "^1.3.7"
  },
  "dependencies": {
    "moment": "^2.18.1",
    "moment-duration-format": "^1.3.0"
  }
}

tsconfig.json:

{
  "compilerOptions": {
    "typeRoots": [ "./node_modules/@types" ]
  }
}

在(angular2)组件中:

import * as moment from "moment";
import * as momentDurationFormat from "moment-duration-format";

...

let result: string = moment.duration(this.selectedHangarDistance * 10, "minutes").format("...")

我也试过了

import "moment-duration-format";

但这并不能改变什么:

[at-loader]./src/app/组件/建筑/商店/shop.component.ts:190中的错误:81 TS2339:属性“格式”在“持续时间”类型上不存在。

共有1个答案

池庆
2023-03-14

对我有效的解决方案:

import * as moment from "moment";
import momentDurationFormatSetup from "moment-duration-format";
momentDurationFormatSetup(moment);

由于传递从“时刻”导入的时刻导致类型问题,因此当传递时刻持续时间格式设置时,*as时刻是重要的。

 类似资料: