vue.js - 如何在 vue.js 中使用 puppeteer

标签 vue.js puppeteer

我正在尝试将 puppeteer 集成到 vue.js 应用程序中以生成屏幕截图和 pdf 文件。
我编写了一个使用 puppeteer 生成屏幕截图的函数,效果很好。

export const MyScripts = {
    getMiniature : async function(elementId, key) {
        const puppeteer = require('puppeteer');
        const browser = await puppeteer.launch();
        const page = await browser.newPage();
        // Making a screenshot
    }
}

在尝试集成该功能时,它无法加载 puppeteer。
“require”不会产生错误,但是当我调用 puppeteer.launch() 时,我收到以下消息:

TypeError: nodeFunction is undefined



我读过 puppeteer 不应该与前端应用程序一起工作,所以我希望我没有选择错误的方向。

那么我怎样才能让它工作呢?
如果不可能,我可以用什么来生成屏幕截图或 pdf ?

提前致谢

最佳答案

Puppeteer 与 Node 一起工作,它与 Vue 无关。 Node.js 几乎是在服务器上运行的 JavaScript,因此与您的前端分离。 Puppeteer 使用 headless 浏览器(因此是您的实际系统)来生成屏幕截图和 PDF 文件。

客户端浏览器无法访问您的文件系统,因此您不能在像 Vue 这样的前端框架中使用它来生成屏幕截图并保存它们。

我不知道有任何工具可以生成当前页面的屏幕截图,但不是高度实验性的,但我相信您可以在深入了解 stackoverflow 时找到更多信息。

关于vue.js - 如何在 vue.js 中使用 puppeteer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52834849/

相关文章:

firebase - 如何在 nuxt 3 中设置 google firebase 函数区域?

javascript - 在Vue和Ajax中获取请求的http状态码

javascript - 如何使用 JS/Puppeteer 上传文件

javascript - 如何合并多个网页并将其转换为 pdf 格式?

Puppeteer Sharp - 获取包含文本内容的元素

node.js - Puppeteer - 未处理的PromiseRejectionWarning

node.js - 无法让 puppeteer 使用同一浏览器浏览新收集的链接

performance - 在大数据集上使用v-model时如何让vuejs响应更快

vue.js - 如何使用 vuejs 制作可安装的 PWA?

javascript - 如何将所选项目传递给 axios