Cum să scapi de eroarea TypeScript în eval-ul din Puppeteer?
Am un script simplu de puppeteer:
export async function inspectWebpage(source) {
const b = await getBrowser()
const p = await b.newPage()
await p.goto(path)
const script = fs.readFileSync(
'host/code/node/puppeteer/crawl.js',
'utf-8',
)
await p.evaluate(script)
let data = await p.evaluate(() => task.getWebpageData())
await b.close()
return data
}
Văd acest lucru de fiecare dată când îl folosesc și aș vrea să scap de el.
Cannot find name 'task'.ts(2304)
Obiectul task este ceea ce am exportat la nivel global dintr-o construcție webpack, pentru a aduce acel script în contextul lui puppeteer.
Situație similară când încerc să accesez lucruri pe window în puppeteer, cum ar fi window.X.y, îmi dă:
Property 'X' does not exist on type 'Window & typeof globalThis'.
Deci, cum adaug adnotări de tip în acest loc? Ce se întâmplă dacă scriptul meu vrea să acceseze o variabilă globală pe care am injectat-o, astfel de lucruri.
