1

我对这个模块很陌生。我听说它比只使用 puppeteer 更好,因为它可以并行运行任务。无论如何,我需要帮助模块化我的代码。这是 npm 页面中的示例程序:

const { Cluster } = require('puppeteer-cluster');
 
(async () => {
  const cluster = await Cluster.launch({
    concurrency: Cluster.CONCURRENCY_CONTEXT,
    maxConcurrency: 2,
  });
 
  await cluster.task(async ({ page, data: url }) => {
    await page.goto(url);
    const screen = await page.screenshot();
    // Store screenshot, do something else
  });
 
  cluster.queue('http://www.google.com/');
  cluster.queue('http://www.wikipedia.org/');
  // many more pages
 
  await cluster.idle();
  await cluster.close();
})();

我想要的是这样的:

main.js 初始化集群

(async () => {
  const cluster = await Cluster.launch({
    concurrency: Cluster.CONCURRENCY_CONTEXT,
    maxConcurrency: 2,
  });
})();

functions.js 有所有的任务

async function screenshot(){
// ...
}

async function getTitle(){
// ...
}

所以我就可以做这样的事情:

functions.getTitle('http://www.google.com/');
functions.screenshot('http://www.wikipedia.org/');

而不是在一个文件中做所有事情。我怎么能做这样的事情?

4

0 回答 0