财产格式'类型'持续时间'

时间:2017-10-19 19:58:42

标签: angular typescript webpack momentjs

我试图使用"片刻持续时间形成"在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/components/building/shop/shop.component.ts:190:81 TS2339:   财产格式'类型'持续时间'

中不存在

1 个答案:

答案 0 :(得分:0)

对我有用的解决方案:

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

* as moment很重要,因为import moment from "moment"在通过momentDurationFormatSetup时引起类型问题。