typescript - Modulen '"next"' har ingen exporterad medlem 'NextApiRequest' i Next.js version ^12.1.16


När du försöker skriva typ för begäran/svar-objektet i dina Next.js API:er för versioner >= 12.1.16, visas någon av följande fel:

Module '"next"' has no exported member 'NextApiRequest'. 

eller

Module '"next"' has no exported member 'NextApiResponse'. 

Detta var inte ett problem i versioner < 12.1.16, men det är det nu.

Hur åtgärdar man detta?

Svar #1

För att åtgärda detta behöver du helt enkelt importera från modulen next/types för versioner av Next.js > 12.1.16:

import type { NextApiRequest, NextApiResponse } from "next/types";

Intellisense kan hjälpa dig att lista ut detta, men om det inte gör det kan du titta i next/types/index.d.ts-filen. Så länge du har initierat ditt projekt med TypeScript kommer Next.js att tillhandahålla sina egna typer och de kan alla hittas i den filen - varje typeimport kommer att vara från den sökvägen.

När jag väl hade ställt och svarat på denna fråga kunde jag inte hitta något om det i den officiella dokumentationen.

Relaterade artiklar