提问人:Fahry Mohammed 提问时间:10/12/2023 最后编辑:Frank van PuffelenFahry Mohammed 更新时间:10/12/2023 访问量:60
在 Firebase 函数中找不到 Chrome (ver.######)
Could not find Chrome (ver. ######) in Firebase Function
问:
我正在尝试根据移动用户数据生成 PDF。所以我写了一个通过移动应用程序访问。在 Firebase 函数中,我用于从 HTML 生成 PDF。但是不断抛出错误. 版本和版本。所以我的代码如下,我在我的 Firebase 函数中调用以下函数:firebase function
puppeteer
puppeteer
Could not find Chrome (ver. ######)
puppeteer
^19.3.8
node
16
async function generatePDF(htmlContent: string): Promise<Buffer> {
const browser = await puppeteer.launch({
headless: 'new',
args: ['--no-sandbox', '--disable-setuid-sandbox'],
});
functions.logger.log('browser.version()', await browser.version());
const page = await browser.newPage();
await page.setContent(htmlContent, {waitUntil: 'domcontentloaded'});
const pdfBuffer = await page.pdf({format: 'A4'});
await browser.close();
return pdfBuffer;
}
我想设置,但后来 Firebase Function 变得很大,Firebase Function 抛出了一个错误。.puppeteerrc.cjs
为了克服这些问题,我修改了函数代码如下:
async function generatePDF(htmlContent: string): Promise<Buffer> {
// Added this line
await puppeteer
.createBrowserFetcher()
.download(puppeteer.PUPPETEER_REVISIONS.chromium);
const browser = await puppeteer.launch({
headless: 'new',
args: ['--no-sandbox', '--disable-setuid-sandbox'],
});
functions.logger.log('browser.version()', await browser.version());
const page = await browser.newPage();
await page.setContent(htmlContent, {waitUntil: 'domcontentloaded'});
const pdfBuffer = await page.pdf({format: 'A4'});
await browser.close();
return pdfBuffer;
}
然后开始工作,但每次都被下载并占用更多内存。更重要的是,每次执行都需要更多时间。那么Firebase功能还有其他解决方案吗?chromium
答: 暂无答案
评论