Часовой пояс момента в Angular 9

В настоящее время я обновляю свою форму проекта Angular 8 к 9.
В проекте используется"@types/moment-timezone": "^0.5.30" в package.json
Теперь этот пакет устарел. https://www.npmjs.com/package/@types/moment-timezone

Когда я запускаю проект ng serve, появляется это сообщение об ошибке

user.model.ts:3:25 - error TS7016: Could not find a declaration file for module 'moment-timezone'. '/home/bunthai/sftp/upgrade/projectg/ui/ctr/node_modules/moment-timezone/index.js' implicitly has an 'any' type.
  Try `npm install @types/moment-timezone` if it exists or add a new declaration (.d.ts) file containing `declare module 'moment-timezone';`

import * as moment from 'moment-timezone';
                          ~~~~~~~~~~~~~~~~~

Как справиться с этой проблемой?

2 ответа

Решение

Я нашел решение: /questions/43963494/ne-udalos-najti-fajl-obyavleniya-dlya-modulya-module-name-pathtomodule-namejs-neyavno-imeet-tip-any/43963507#43963507

В моем случае изменение с import * as moment from 'moment-timezone' к const moment = require('moment-timezone');

Вам необходимо удалить этот импорт и вручную импортировать нужный часовой пояс, например:

import moment from "moment";
import "moment/locale/fr";
moment.locale('fr')

Если вы не импортируете другой часовой пояс, вы получите часовой пояс сервера nodeJS по умолчанию. Если вам нужен другой, вам нужно импортировать его и использовать.

Просто и совет, прекратите использовать эту библиотеку, если можете.

Другие вопросы по тегам