Docker с NodeJS Puppeteer: почему я использую тот же код, но при работе на Mac можно показывать картинки, но не на Docker? - PullRequest
0 голосов
/ 18 октября 2019

Я использовал тот же код NodeJS для генерации PDF, но иногда мог показывать изображения только на Mac, но не на Docker.

Почему это происходит и как это решить?

Missing images on Docker

Ниже приведен основной код:

browser = await puppeteer.launch({
    executablePath: '/usr/bin/chromium-browser',
    args: ['--no-sandbox', '--enable-font-antialiasing', '--font-render-hinting=medium'],
    timeout: LOAD_TIMEOUT,
    headless: true
});

page = await browser.newPage();

// local file
await page.goto(`file:///${ __dirname}/www/index.html`, {
    waitUntil: 'domcontentloaded',
    timeout: LOAD_TIMEOUT
});

await page.waitForFunction(() => !!(window.Ext && Ext.isReady && window.App && App.app), {
    polling: LOAD_POLLING,
    timeout: LOAD_TIMEOUT
});

await page.evaluate(
    App.pdf.Builder.create({
        ... // rendering PDF
    });
);
await page.waitForFunction(() => App.pdf.Builder.ready || App.pdf.Builder.error, {
    polling: LOAD_POLLING,
    timeout: PAGEBUILD_TIMEOUT
});

await page.pdf({
    path: filePath,
    format: 'A4',
    printBackground: true
});
...