我在角度4项目中使用typescript并希望使用moment-precise-range-plugin。
我已在https://momentjs.com/docs/#/use-it/typescript/之后安装moment
,但我想添加exactrange插件http://momentjs.com/docs/#/plugins/preciserange/。
对于精确范围插件,Node.js的安装位于https://codebox.org.uk/pages/moment-date-range-plugin并指定require('moment-precise-range-plugin');
,但没有安装Typescript。
我已尝试过import { Moment } from 'moment-precise-range-plugin';
,但收到以下打字稿错误
Could not find a declaration file for module 'moment-precise-range-plugin'. 'c:/Users/[UserName]/app/node_modules/moment-precise-range-plugin/moment-precise-range.js' implicitly has an 'any' type. Try npm install @types/moment-precise-range-plugin if it exists or add a new declaration (.d.ts) file containing declare module 'moment-precise-range-plugin';'
非常欢迎任何想法!
答案 0 :(得分:4)
我在Angular 4项目中使用了moment-precise-range-plugin,并且能够将其导入:
import 'moment-precise-range-plugin';
我导入片刻后导入了它:import * as moment from 'moment';
有一点需要注意:我的TS linter仍然警告我preciseDiff()
会导致问题,但一切都运行得很好。尝试一下,看看它是否有效。
答案 1 :(得分:0)
我通过在src / typings.d.ts中添加定义文件来修复它
import * as moment from 'moment';
export = moment;
declare module 'moment' {
interface Moment {
preciseDiff(start: string | Date | moment.Moment): string;
}
}
答案 2 :(得分:0)
注意:我正在使用Angular 10。
将其导入为-> import 'moment-precise-range-plugin';
并添加以下三行:
declare module 'moment' {
function preciseDiff(start: string | Date | moment.Moment, end: string | Date | moment.Moment, convertToObject?: boolean): any;
}