无法在 Angular 8 中导入时刻

Unable to import moment in Angular 8

我遇到了这个奇怪的问题,我的 Angular 8 无法解析我的 moment 库。

我已经做了一个 rm -rf node_modulesnpm install

package.json:

Class 使用时刻:

当我执行 npm start 时,这是我遇到的错误。

ERROR in node_modules/@angular/material-moment-adapter/typings/adapter/moment-date-adapter.d.ts:10:24 - error TS2307: Cannot find module 'moment'.

10 import { Moment } from 'moment';
                          ~~~~~~~~
src/app/shared/configurator/base-configurator/base-configurator.component.ts:9:25 - error TS2307: Cannot find module 'moment'.

9 import * as moment from 'moment';
                          ~~~~~~~~
src/app/shared/configurator/util.ts:1:25 - error TS2307: Cannot find module 'moment'.

1 import * as moment from 'moment';
                      ~~~~~~~~

知道如何解决这个问题吗?

您可以尝试安装 material-moment-adapter 并导入 MomentDateAdapter

npm i @angular/material-moment-adapter

import { MatMomentDateModule, MomentDateAdapter } from "@angular/material-moment-adapter";

似乎是 moment 2.25.0 的兼容性问题
临时解决办法是降级到moment 2.24.0

https://github.com/moment/moment/issues/3763