将Electron + Puppeteer打包为.exe

问题描述

嗨,我有一个正在运行Puppeteer的Electron应用程序(具体来说是puppeteer-cluster)。我希望能够将此应用程序打包到一个可以分发的.exe文件中。

尽管有一个要求,我必须能够将其与--asar一起包装。

以下是我尝试过但失败的内容:

我尝试设置可执行路径:

let ChromiumPath = path.join(__dirname,"..",".local-chromium","win64-809590","chrome-win","chrome.exe");

const cluster = await Cluster.launch({
          puppeteer,concurrency: Cluster.CONCURRENCY_BROWSER,maxConcurrency: arg.length,timeout: 340000,puppeteerOptions: {
            args: browserArgs,headless: false,ignoreHTTPSErrors: true,executablePath : ChromiumPath
          },perBrowserOptions: perBrowserOptions,});

我尝试在package.json中指定解压缩目录

"config": {
    "forge": {
      "packagerConfig": {
        "asar": {
          "unpack": "**/node_modules/puppeteer/.local-chromium/**/*"
        }
      }.....

这是我打包我的应用程序的方式:

electron-packager . --asar

如果需要,这是我的package.json

{
  "name": "testBrowsers","productName": "testBrowsers","version": "1.0.0","description": "IDk","main": "src/index.js","scripts": {
    "start": "electron-forge start","package": "electron-packager ./ testBrowsers --platform=win32  --arch=x64 --icon=./tool.ico --out=./dist --electron-version=10.1.4 --overwrite","make": "electron-forge make","publish": "electron-forge publish","lint": "echo \"No linting configured\""
  },"keywords": [],"author": "Otter","license": "MIT","config": {
    "forge": {
      "packagerConfig": {
        "asar": {
          "unpack": "**/node_modules/puppeteer/.local-chromium/**/*"
        }
      },"makers": [
        {
          "name": "@electron-forge/maker-squirrel","config": {
            "name": "testBrowsers"
          }
        },{
          "name": "@electron-forge/maker-zip","platforms": [
            "darwin"
          ]
        },{
          "name": "@electron-forge/maker-deb","config": {}
        },{
          "name": "@electron-forge/maker-rpm","config": {}
        }
      ]
    }
  },"dependencies": {
    "electron-squirrel-startup": "^1.0.0","proxy-chain": "^0.4.5","puppeteer": "^5.4.1","puppeteer-cluster": "^0.22.0","puppeteer-extra": "^3.1.15","puppeteer-extra-plugin-stealth": "^2.6.5","puppeteer-page-proxy": "^1.2.8","taskkill": "^3.1.0"
  },"devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.54","@electron-forge/maker-deb": "^6.0.0-beta.54","@electron-forge/maker-rpm": "^6.0.0-beta.54","@electron-forge/maker-squirrel": "^6.0.0-beta.54","@electron-forge/maker-zip": "^6.0.0-beta.54","electron": "10.1.4"
  }
}

我真的很希望有人可以帮助我解决这个问题! :)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)