【发布时间】:2025-12-24 01:40:07
【问题描述】:
我想在我的 Angular 4 应用程序中使用 JDateFormatParser 和 Moment.js。
我成功地安装和使用Moment.js 使用:npm install moment --save
并将其添加到我的.ts 使用:
import * as moment from 'moment';
我可以使用和执行它。
之后我使用以下方式安装了插件:npm install moment-jdateformatparser --save
当我想在我的代码中使用它时:
moment().toJDFString(moment.localeData().longDateFormat('L'))
我的 IDE 已经投诉:
TS2339:“Moment”类型上不存在属性“toJDFString”。
看看this answer,我尝试使用强制转换来做到这一点:
(<any>moment()).toJDFString(moment.localeData().longDateFormat('L'))
这解决了 IDE 中的错误,但在执行过程中控制台告诉我:
TypeError: WEBPACK_IMPORTED_MODULE_6_moment(...).toJDFString 是 不是函数
有人提示如何使用它吗?
【问题讨论】:
-
安装插件后你导入moment的方式一样吗?如果没有,你可以试试
import * as moment from "moment-jdateformatparser"; -
如果它和我用过的其他插件一样,你可能需要在 moment 模块上“注册”它。导入两者并通知时刻存在插件。当然,这是假设这个插件不依赖于单例模块(可能挂在窗口之外)。
-
@Wernerson :非常感谢,这解决了这两种情况下的问题,对于 IDE(现在可以不强制转换)和执行!如果您添加答案,我会接受。不过我问的是如何处理多个插件呢?
标签: angular typescript webpack momentjs