木偶启动器错误结果未定义 [英] Puppeteer launcher error results with undefined

查看:28
本文介绍了木偶启动器错误结果未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆