node.js - Puppeteer 启动器错误结果未定义

标签 node.js ubuntu deployment puppeteer

在 Windows 上测试我的项目后,我将它部署到基于 Ubuntu 的 VM 上,这就是 Puppeteer 行为让我感到困惑的地方。我确实安装了所有必需的依赖项,但我感觉我的错误不一定是由于缺少依赖项以及更多关于配置问题而导致的。
功能图:

  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)
    }
我不明白我什至如何开始调查这个问题

最佳答案

不确定,如果这对您的情况有帮助-
我有 Typescript,带有 compilerOptions lib: ["es2020"]它抛出了这个错误。将其更改为 lib: ["es2017"]为我解决了这个问题。我什至不确定,为什么它会这样影响它。我猜,当你通过导入 import { fn } from "somewhere" 来获得一个函数时但是该函数以某种方式从类实例中导出 - 它失去了它的绑定(bind) this .
否则像这样导入有效

// Works
import Puppeteer, { Browser, PDFOptions } from "puppeteer";
browser = await Puppeteer.launch({});

// Doesn't work
import { launch, Browser, PDFOptions } from "puppeteer";
browser = await launch({});

关于node.js - Puppeteer 启动器错误结果未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69494700/

相关文章:

javascript - 如何仅从 Nodejs 中的数据库列值返回值

ubuntu - MonoDevelop 通过 Flatpak 无法读取已安装的分区

ruby-on-rails - 使用 SQLite 3 将 RoR 应用程序部署到 Heroku 失败

javascript - 停止或终止 Node 媒体服务器

javascript - 根据feathersJs api中自定义ID名称从mongo数据库获取模型数据

mysql - 如何顺序执行SQL命令列表?

python - Matplotlib -- libpng 错误 : Incompatible libpng version in application and library

java - 仅从文件夹创建 Eclipse 项目

deployment - 应用程序无法启动...应用程序配置不正确 - VC++ 2005 运行时问题

javascript - Vercel 上的 Next.js 部署失败