木偶启动器错误结果未定义 [英] Puppeteer launcher error results with undefined
本文介绍了木偶启动器错误结果未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Windows上测试我的项目后,我将其部署到基于Ubuntu的VM上,这就是木偶行为让我困惑的地方。我确实安装了所有必需的依赖项,但我有一种感觉,我的错误不一定是由于缺少依赖项而导致的,更多的是关于配置问题。
函数fignature:
async initPuppeteerBrowser() {
if (
this.puppeteerBrowser === null ||
(await this.puppeteerBrowser.pages()).length === 0
) {
this.puppeteerBrowser = await launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] });
}
return await this.puppeteerBrowser.newPage();
}
结果为:
err: {
"type": "TypeError",
"message": "Cannot read properties of undefined (reading '_launcher')",
"stack":
TypeError: Cannot read properties of undefined (reading '_launcher')
at launch (/root/dev/logoex-server/node_modules/puppeteer/lib/cjs/puppeteer/node/Puppeteer.js:125:21)
at CorporationsScraper.initPuppeteerBrowser (/root/dev/logoex-server/dist/aid/scraper/corporations.scraper.js:33:66)
at CorporationsScraper.corporationIterator (/root/dev/logoex-server/dist/aid/scraper/corporations.scraper.js:54:37)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
}
我甚至不明白我如何开始提出此问题
推荐答案
不确定这是否对您的情况有帮助-
我有一个带有编译器选项lib: ["es2020"]
的TypeScript,它抛出了这个错误。将其更改为lib: ["es2017"]
为我解决了此问题。我甚至不确定,为什么它会这样影响它。我猜,当您通过类似import { fn } from "somewhere"
导入获得一个函数,但该函数以某种方式从类实例中导出时-它会丢失绑定this
。
否则像这样导入
// Works
import Puppeteer, { Browser, PDFOptions } from "puppeteer";
browser = await Puppeteer.launch({});
// Doesn't work
import { launch, Browser, PDFOptions } from "puppeteer";
browser = await launch({});
这篇关于木偶启动器错误结果未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文