首页 > 解决方案 > 电子 - 不能在工作线程中使用 puppeteer

问题描述

我想在我的电子应用程序的工作线程中使用 puppeteer。在构建捆绑包时,我使用 extraFiles 将工作代码复制到 Resources/bin。但不幸的是,它在运行后抛出异常:“找不到模块 puppeteer”。我已经尝试过的:

const puppeteer = require('puppeteer');
const puppeteerPath = path.resolve(
  process.resourcesPath,
  'app.asar.unpacked/node_modules/puppeteer/index.js'
);
const puppeteer = require(`${puppeteerPath}`);
const puppeteerPath = path.resolve(
  process.resourcesPath,
  'app.asar/node_modules/puppeteer/index.js'
);
const puppeteer = require(`${puppeteerPath}`);

这是重现我的案例的回购:https ://github.com/alfredalfie123/test_worker

请你帮助我好吗?

标签: electronpuppeteerelectron-builder

解决方案


您需要将所有 puppetter 相关的 deps 复制到 asar.unpack:

https://github.com/electron/electron/issues/18540#issuecomment-660679649


推荐阅读