我对这个模块很陌生。我听说它比只使用 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/');
而不是在一个文件中做所有事情。我怎么能做这样的事情?