如何解决包 puppeteer 无法正常工作 (centos 7)
我使用包 puppeteer 在本地开发中的 nodejs 中生成 pdf,我使用 lubuntu 18.04 并且每件事都运行良好,但在生产环境中,在 centos 7 中部署代码后,它有时可以工作,但大多数时候它不起作用。 我使用以下命令安装了必要的铬包:
sudo yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
我添加了参数 {args:['--no-sandbox']}
但同样的问题。
这是我的代码:
const generator = (data,fileName,prepa) =>
new Promise(async (resolve,reject) => {
try {
const browser = await puppeteer.launch({ args: ["--no-sandbox"] });
const page = await browser.newPage();
let content;
if (prepa === true) {
content = templateCarnetPrepa(data);
} else {
content = templateCarnet(data);
}
await page.setContent(content);
await page.addStyleTag({ path: "./bootstrap.min.css" });
await page.emulateMediaType("screen");
await page.pdf({
path: `./${ENV.MEDIA_STORAGE}/carnet/${fileName}.pdf`,format: "A4",margin: { top: 20,left: 20,right: 20,bottom: 20 },printBackground: true,});
await browser.close();
//process.exit()
resolve(0);
} catch (e) {
console.log(e);
reject(e);
}
});
有没有人有解决这个问题的方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)