我正在使用 Puppeteer 构建一个 UI 自动器,并将其作为 Electron 打包的应用程序提供。除了这个问题之外,它运行良好且顺利:
Chromium is not download
当应用程序在与打包应用程序的平台不同的平台上执行时,会引发异常。
更好地说,我正在 Linux 环境上进行开发,并且我正在为 Linux 和 Windows 打包我的应用程序,Linux 应用程序运行良好,而 Windows 应用程序则不行。
问题是:Chromium 是在 npm install
时下载的,并且是根据当前平台有选择地完成的。作为当前的 Linux 平台,这个版本的 Chromium 会无论如何发布在每个平台的应用程序上。
我应该能够执行以下操作之一:
- 在 npm 安装时下载全平台 Chromium(在开发计算机上)
- 在打包时有选择地下载 Chromium(仍在开发计算机上)
- 强制我的用户在运行时下载 Chromium(例如第一次使用时)
问题是我还没有找到任何可以用于此目的的 Puppeteer 配置。
谢谢
最佳答案
Chromium 下载是在 npm 安装期间由 node_modules/puppeteer/install.js
完成的。您可以从应用程序的构建脚本中调用此代码。例如:
const Downloader = require('puppeteer/lib/Downloader');
const revision = require('puppeteer/package').puppeteer.chromium_revision;
Downloader.createDefault().downloadRevision('win64', revision, () => undefined)
.then(() => { console.log('Done!') })
.catch(err => { console.log('Error', err) })
关于electron - Puppeteer:下载适用于不同平台的 Chromium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757720/