矩范围插件的打字稿错误
Typescript error with moment range plugin
我在我的 Ionic 2 应用程序中包含 moment js
和 moment-range
插件,如下所示:
import * as moment from 'moment';
import 'moment-range';
这很好用,我可以同时使用它们,但是 Typescript 给我以下错误:
Javascript:
let range = moment().range(self.weekStart, self.weekEnd);
打字稿错误:
Error TS2339: Property 'range' does not exist on type 'Moment'.
我有 运行 以下命令来尝试通过安装类型文件来阻止此错误:
typings install moment-range --ambient --save
不过好像没什么效果。我还需要做些什么吗?或者有什么方法可以消除错误吗?
感谢您的帮助。
我刚刚看了接口。您需要致电
let range = moment.range(self.weekStart, self.weekEnd);
不是moment().range
如果您查看 moment-range.d.ts,您会发现范围方法是在静态接口 MomentStatic
上定义的,而不是实例接口 Moment
.
我无法使用 Paarth 解决方案。我还有:
Property 'range' does not exist on type 'typeof moment'.
我的解决方案是使用类型断言:
let range = (<any>moment).range(startDate, endDate);
我必须这样做:
import * as moment from "moment";
import {extendMoment} from "moment-range";
const rangeMoment = extendMoment(moment);
const range = rangeMoment.range(start, end);
import * as moment from 'moment';
import { extendMoment } from 'moment-range';
const { range } = extendMoment(moment);
const timeRange = range(moment.utc([2015, 0, 1]), moment.utc([2015, 5, 1]));
for (const month of timeRange.by('month')) {
console.log(month.format('YYYY-MM-DD'));
}
他们是我在 "typescript": "3.4.5"
中工作的唯一方法
const Moment = require('moment');
import {extendMoment} from 'moment-range';
const moment = extendMoment(Moment);
我在我的 Ionic 2 应用程序中包含 moment js
和 moment-range
插件,如下所示:
import * as moment from 'moment';
import 'moment-range';
这很好用,我可以同时使用它们,但是 Typescript 给我以下错误:
Javascript:
let range = moment().range(self.weekStart, self.weekEnd);
打字稿错误:
Error TS2339: Property 'range' does not exist on type 'Moment'.
我有 运行 以下命令来尝试通过安装类型文件来阻止此错误:
typings install moment-range --ambient --save
不过好像没什么效果。我还需要做些什么吗?或者有什么方法可以消除错误吗?
感谢您的帮助。
我刚刚看了接口。您需要致电
let range = moment.range(self.weekStart, self.weekEnd);
不是moment().range
如果您查看 moment-range.d.ts,您会发现范围方法是在静态接口 MomentStatic
上定义的,而不是实例接口 Moment
.
我无法使用 Paarth 解决方案。我还有:
Property 'range' does not exist on type 'typeof moment'.
我的解决方案是使用类型断言:
let range = (<any>moment).range(startDate, endDate);
我必须这样做:
import * as moment from "moment";
import {extendMoment} from "moment-range";
const rangeMoment = extendMoment(moment);
const range = rangeMoment.range(start, end);
import * as moment from 'moment';
import { extendMoment } from 'moment-range';
const { range } = extendMoment(moment);
const timeRange = range(moment.utc([2015, 0, 1]), moment.utc([2015, 5, 1]));
for (const month of timeRange.by('month')) {
console.log(month.format('YYYY-MM-DD'));
}
他们是我在 "typescript": "3.4.5"
中工作的唯一方法const Moment = require('moment');
import {extendMoment} from 'moment-range';
const moment = extendMoment(Moment);