如何在 Typescript 中正确导入 MomentJS 以解决以下错误:“Type 'typeof moment' 没有兼容的调用签名。” [复制]
Posted
技术标签:
【中文标题】如何在 Typescript 中正确导入 MomentJS 以解决以下错误:“Type \'typeof moment\' 没有兼容的调用签名。” [复制]【英文标题】:How to properly import MomentJS in Typescript to resolve the following error: "Type 'typeof moment' has no compatible call signatures." [duplicate]如何在 Typescript 中正确导入 MomentJS 以解决以下错误:“Type 'typeof moment' 没有兼容的调用签名。” [复制] 【发布时间】:2019-08-03 11:53:32 【问题描述】:导入 MomentJS 导致以下错误:
ERROR in [...] Cannot invoke an expression whose type lacks a call signature. Type 'typeof moment' has no compatible call signatures.
我该如何解决这个错误?
【问题讨论】:
所以 MomentJS 在旧版本中输入错误?如果是这样,安装最新版本通常是第一件事,不知道这里是否需要另一个答案(可能会帮助遇到同样问题的人,不是说应该删除它,只是说......) 仅供参考,看看 dateFNS。 momentJS 是一个 huuuuugeee 库,开发人员远离它,因为它不是摇树的 @JonasWilms:如果您遇到此错误并且不知道它与打字有关,您将永远找不到该响应。它发生在我身上,我浪费了宝贵的时间。我发布了这个问题/答案是为了给别人一个先机:) 【参考方案1】:MomentJS 的最新版本现在已经定义了类型。在没有外部类型的情况下重新安装 MomentJS。您还应该避免命名空间样式的导入,因为这样的导入不能被调用或构造,并且会在运行时导致失败。
要走的路是传统导入:
import moment from 'moment';
【讨论】:
@vidalsasoom 那又怎样?自我回答是件好事以上是关于如何在 Typescript 中正确导入 MomentJS 以解决以下错误:“Type 'typeof moment' 没有兼容的调用签名。” [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Typescript 中正确导入 MomentJS 以解决以下错误:“Type 'typeof moment' 没有兼容的调用签名。” [复制]
如何在 Typescript 中正确使用 React.lazy() 来导入带有泛型类型参数的反应组件?
如何将 MSAL(Microsoft Authentication Library for js)正确导入和使用到 typescript react 单页应用程序中?