[教程] 打包后的 Electron.js 如果要用 Puppeter

需要设置 executablePath

[教程] 打包后的 Electron.js 如果要用 Puppeter

题图是本文作者的实际使用情景(在哪里用到了 Puppeter)
本文章写于2020年6月。
预计阅读时间:3分钟

这篇文章写什么?

如何在 Electron.js 里面使用 Puppeter.
特别是打包之后怎么用 Puppeter

对谁有用?

程序员

直入正题,初始化 puppeteer 的代码这样写:

executablePath = '/Applications/Chromium.app/Contents/MacOS/Chromium'

const browser = await puppeteer.launch({
	executablePath: executablePath,
	headless: true,
	args: ['--no-sandbox', '--disable-setuid-sandbox'],
});

核心点

设定 executablePath 就是核心点

前置条件

需要 macOS 用户自己先安装 Chromium.app,
就是普通的安装程序就行,把 .app 拖动到 "应用程序"
(也就是 /Applications/ 里)

为什么这样做?

如果把 Chromium.app (大小 290 MB) 通过 Electron.js 的打包流程
一起打包到 .app 里。作为成品发给用户。
不管怎样都会有权限错误问题,我试了很久一直没成功。

后来在网上看到这个
设定 executablePath 为 /Applications/Chromium.app/... 的方法,
实测居然可以(忘记哪里看到的了,所以没法给出处)

那么 Windows 怎么办?

我也不知道,我还没做到兼容 Windows 这一步。

环境

Electron.js 版本 8.0.0

全文完

感谢阅读