【发布时间】:2021-02-12 14:27:11
【问题描述】:
在带有 typescript 的 reactJS 项目中,我正在尝试导入 moment 和类型 Moment
尝试使用import moment, { Moment } from 'moment'
但这让 ESLint 不高兴:ESLint: Moment not found in 'moment'(import/named)
尝试使用import * as moment from 'moment'
这让 typescript 很不爽:TS2349: This expression is not callable. Type 'typeof moment' has no call signatures.
从技术上讲,我真的找不到轻松导入Moment 类型的方法。
下面这行应该很简单,但是很难找到一种可靠的方法来同时导入moment 和Moment
const [date, setDate] = useState<Moment>(moment());
注意:我不想禁用 ESLint 规则
【问题讨论】:
-
“不开心”是什么意思?实际的错误/警告是什么?
-
在 tsconfig 中尝试“allowSyntheticDefaultImports”:true。然后看看
import moment from 'moment'是否有效。 -
@evolutionxbox 我用错误更新了问题。有趣的是,如果我使用
import moment from 'moment',我可以使用moment.Moment作为类型:)
标签: javascript reactjs typescript momentjs