我试图在 puppet 集群中使用插件,但它不工作。它可以在没有插件的情况下工作,但当插件被添加时就不行了。
下面是我的代码:
import { NextResponse } from "next/server";
import { Cluster } from "puppeteer-cluster";
// import vanillaPuppeteer from "puppeteer";
import { addExtra } from "puppeteer-extra";
import Stealth from "puppeteer-extra-plugin-stealth";
import Recaptcha from "puppeteer-extra-plugin-recaptcha";
export async function POST(req: Request) {
const body = await req.json();
const puppeteer = addExtra(vanillaPuppeteer);
puppeteer.use(Stealth());
puppeteer.use(Recaptcha());
const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT,
maxConcurrency: 3,
});
// ...
我试着运行它,但它返回这个错误:
Cannot statically analyse 'require(…, …)' in line 7
我试过使用lazy loader,但它不工作。
1条答案
按热度按时间bkkx9g8r1#
现在,工作方法是将
puppeteer-extra
及其插件添加到next.config.js
中的serverComponentsExternalPackages
字段:阅读更多关于
serverComponentsExternalPackages
:https://nextjs.org/docs/app/api-reference/next-config-js/serverComponentsExternalPackages