我在我的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
但它似乎没有任何影响。还有其他我需要做的事情,还是有办法消除错误?
感谢您的帮助。
答案 0 :(得分:4)
我必须这样做:
import * as moment from "moment";
import {extendMoment} from "moment-range";
const rangeMoment = extendMoment(moment);
const range = rangeMoment.range(start, end);
答案 1 :(得分:1)
我只是看了接口。你需要打电话
let range = moment.range(self.weekStart, self.weekEnd);
不是moment().range
如果查看moment-range.d.ts,您会看到范围方法是在静态接口MomentStatic
上定义的,而不是实例接口Moment
。
答案 2 :(得分:1)
我无法让Paarth解决方案起作用。我还有:
Property 'range' does not exist on type 'typeof moment'.
我的解决方案是使用类型断言:
let range = (<any>moment).range(startDate, endDate);
答案 3 :(得分:1)
//Read all text from file into a string
var fileContent = File.ReadAllText("001234.txt");
//split text into array according to a Regex pattern
var pattern = @"SOH*ETX";
var splitContent = Regex.Split(fileContent, pattern);
//counter for file names
var counter = 10;
foreach(var content in splitContent)
{
//create file and use stream to write to it
using (var stream = File.Create($"{counter++}1234.txt"))
{
var contentAsBytes = new UTF8Encoding(true).GetBytes(content);
stream.Write(contentAsBytes, 0, contentAsBytes.Length);
}
}
答案 4 :(得分:0)
他们只有这样才能让我在“打字稿”中使用它:“ 3.4.5”
const Moment = require('moment');
import {extendMoment} from 'moment-range';
const moment = extendMoment(Moment);