node.js - Puppeteer-typer node_modules/puppeteer/lib/types"' har ingen exporterad medlem 'Cookie'


Jag har ett problem med typer i Puppeteer, jag försöker importera Cookie-typen, men det fungerar inte på versioner nyare än 6.0.0.

import { Cookie } from 'puppeteer';

och felet

/node_modules/puppeteer/lib/types"' has no exported member 'Cookie'.

Svar #1

om du fortfarande plågas av detta i en COVID-endemisk värld,

Du kan definiera din egen typ genom en typings-fil och sedan importera den via din tsconfig.json. Självklart finns det oftast ingen anledning att skapa din egen typ, när du kan hänvisa till paketet @types/puppeteer och hämta den typ du behöver (men som den senaste versionen av puppeteer inte inkluderar). Jag kommer låta dig själv upptäcka röran som är puppeteer-typningar.

Så, säg att jag stötte på ett ... has no exported member HttpMethod-fel, skulle jag skapa en typings-fil, (t.ex. httpMethod.type.ts) med följande, taget från @types/puppeteer:

export type HttpMethod = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE' | 'OPTIONS';

Se till att den nya typings-filen finns i en mapp som ligger lägre än din tsconfig.json så att den kan hitta den.

Byt sedan ut den felaktiga importraden, t.ex.: import { HttpMethod } from 'puppeteer';

till import { HttpMethod } from '../httpMethod.type';

Svar #2

Info från Puppeteer-dokumentationen, problemet löst

We have recently completed a migration to move the Puppeteer source code from JavaScript to TypeScript and as of version 7.0.1 we ship our own built-in type definitions.