electron - 电子 - 不能在工作线程中使用 puppeteer
问题描述
我想在我的电子应用程序的工作线程中使用 puppeteer。在构建捆绑包时,我使用 extraFiles 将工作代码复制到 Resources/bin。但不幸的是,它在运行后抛出异常:“找不到模块 puppeteer”。我已经尝试过的:
- 正常导入 puppeteer:
const puppeteer = require('puppeteer');
- 在 app.asar.unpack 中导入 puppeteer:
const puppeteerPath = path.resolve(
process.resourcesPath,
'app.asar.unpacked/node_modules/puppeteer/index.js'
);
const puppeteer = require(`${puppeteerPath}`);
- 在 app.asar 中导入 puppeteer:
const puppeteerPath = path.resolve(
process.resourcesPath,
'app.asar/node_modules/puppeteer/index.js'
);
const puppeteer = require(`${puppeteerPath}`);
这是重现我的案例的回购:https ://github.com/alfredalfie123/test_worker
请你帮助我好吗?
解决方案
您需要将所有 puppetter 相关的 deps 复制到 asar.unpack:
https://github.com/electron/electron/issues/18540#issuecomment-660679649
推荐阅读
- python - 用于 LSTM 模型的 KeyError '-f' Python
- python - 我们可以在 Yellowbrick 可视化中使用 numpy 数组混淆矩阵吗
- c - 写入顺序或单次写入
- entity-framework - 在多实体迁移错误中使用根和嵌套拥有的类型
- python - 与参数化查询(python,sqlite)一起使用时,cursor.execute()返回空列表
- javascript - 如何从另一个 javascript 文件中调用 videojs 对象
- php - 在实时服务器上创建图像共享文件夹并显示在本地服务器上
- c++ - 使用发布-订阅模式进行实际应用程序设计
- sas - 希望在不插入 SAS 的情况下扩展数据
- python - 用 2D ndarray 给出的值填充 3D ndarray 内方阵的对角线