reactjs - Kan ikke finne modul 'date-fns-tz' eller de tilsvarende typedeklarasjonene


"Kan ikke finne modulen 'date-fns-tz' eller dens tilsvarende typedeklarasjoner."

Har noen hatt dette problemet før? Jeg har installert date-fns-pakken.

import { zonedTimeToUtc, utcToZonedTime } from 'date-fns-tz';

Svar #1

Hei @kacper, prøvde du denne kommandoen-

npm i @types/date-fns-tz

eller

yard add @types/date-fns-tz

noen pakker har allerede definert sine biblioteker (@types/module-name) du kan også legge til dette, slik at du tillater TypeScript å sjekke typeerklæringer.

Men hovedsaken er at du først bør installere hovedbibliotekspakken, det vil si date-fns-tz.

Hvis du fortsatt har problemer, gi meg beskjed.

Svar #2

TLDR: oppdater til [email  for å få de riktige typeeksportene.


Forklaring:

Jeg støtte på dette problemet da jeg flyttet et prosjekt over til ES-moduler. data-fns-tz inkluderte typer og ESM-eksporter fra og med 1.3.x, men hadde ESM-spesifikke stier, for eksempel data-fns-tz/esm/format.

Node.js og TypeScript henter nå riktig modul ved kjøring basert på type-egenskapen. Så hvis prosjektet ditt har "type": "module" i sin package.json, vil kjøretiden vite å hente ESM-filene basert på avhengighetenes pakkeksport.

data-fns-tz hadde separate imports for CommonJS og ESM, så typene ble ikke ført gjennom automatisk.

Her er den relevante PR-en som endrer eksportmønsteret i pakken slik at kjøretiden vil plukke opp de relevante filene basert på modulformatet som er satt i type.

Les mer om typefeltet her.