Dan*_*na 3 deployment ubuntu node.js puppeteer
在 Windows 上测试我的项目后,我将其部署到基于 Ubuntu 的虚拟机上,这就是 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();
}Run Code Online (Sandbox Code Playgroud)
结果是:
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)
}
Run Code Online (Sandbox Code Playgroud)
我不明白我该如何开始讨论这个问题
不确定,这是否对您的情况有帮助 - 我有 Typescript,带有编译器选项lib: ["es2020"],它引发了此错误。改变它来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({});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6944 次 |
| 最近记录: |