如何在我的网站上使用cdn使用puppeteer

时间:2018-06-17 01:31:31

标签: javascript node.js browser pdf-generation puppeteer

我试图使用Puppeteer直接在我的网站上生成PDF文件。

我的问题是我不知道如何将所需文件添加到我的网站。

所有指南均附带此行:

@Override <B> Z<B> g(Function<A, Z<B>> ay);

但是当我运行代码时,我收到此错误:require未定义

这是我试图运行的代码:

const puppeteer = require('puppeteer');

通常当我想使用一些在线图书馆时,它附带一个cdn链接,或者你可以下载.js文件并在我的网站上托管它们,然后我就可以随意使用这些代码了。

但在这种情况下,我在各方面搜索,(大约2.5小时),我找不到任何东西。

在谷歌Puppeteer CDN上搜索我得到了这个:https://www.jsdelivr.com/package/npm/puppeteer

但不确定如何使用.. 谢谢!

编辑:

经过一些尝试后,我按照Browserify指南创建了一个.js文件。 我添加了这段代码:

const puppeteer = require('puppeteer');

puppeteer.launch().then(async browser => {
  const page = await browser.newPage();
  await page.goto('https://www.google.com');
    await page.pdf({
    scale: 1,
    displayHeaderFooter: false,
    printBackground: true,
    landscape: false,
    path: 'hn.pdf',
    format: 'A4',
    width: 1200,
    height: 3500,
    margin: {
    top: 0,
    right: 0,
    left: 0,
    bottom: 0 
  }
  });
  await browser.close();
});

并创建了一个代码包,生成了以下js脚本:https://puu.sh/AGF4U/46204f1b5c.js

将脚本添加到我的网站并尝试执行此代码:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
})();

现在我在控制台上收到以下错误: https://puu.sh/AGF6I/149fb9ec2b.png

谢谢!

2 个答案:

答案 0 :(得分:0)

你必须使用Webpack这样的工具与Babel结合使用,它将创建一个包含所需模块的包,并为浏览器编译代码。

编辑:由于Webpack很难设置,请考虑使用Babelify

答案 1 :(得分:0)

puppeteer是一个node.js库,无法在网页上的浏览器中运行。可以把它想象成需要在计算机/服务器上运行的程序。

要使用它,首先需要install node.js,然后install puppeteer,然后使用制作屏幕截图的程序创建一个脚本文件,最后从命令提示符运行它,如

>node /path/to/script.js