如何在docker中运行electron

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在docker中运行electron相关的知识,希望对你有一定的参考价值。

参考技术A 如何在docker中运行electron

在本文的应用场景中,将electron用于爬虫的一部分,去获取访问页面时的cookie等信息。

docker中的系统信息:

然后可以运行自己的app了。
运行到electron时,会打印error 信息: Xlib: extension "RANDR" missing on display ":99.0" ,但是仍然能够拿到需要的数据,就先将其忽略了...

参考: Setup Electron on Ubuntu

如何在电子的生产版本上运行闪存?

【中文标题】如何在电子的生产版本上运行闪存?【英文标题】:How to run flash on a production build of electron? 【发布时间】:2021-06-27 22:47:34 【问题描述】:

我正在使用 React 创建一个电子应用程序。它在开发环境中成功播放 Flash,但在生产环境中无法播放。在我的 electron.js 文件(主文件)中,我添加了一个 if-else 以在电子生成构建时将 dll 定位到不同的文件夹。

在 electron.js 中,我使用这一行来在播放 flash 时包含 dll。

switch (process.platform) 
  case 'win32':
    pluginName = 'plugins/pepperflashplugin.dll'
    break
  case 'darwin':
    pluginName = 'plugins/PepperFlashPlayer.plugin'
    break
  case 'linux':
    pluginName = 'plugins/libpepflashplayer.so'
    break
  default:
    break

    isDev ? app.commandLine.appendSwitch('ppapi-flash-path', path.join(__dirname, pluginName)) :
      app.commandLine.appendSwitch('ppapi-flash-path', 'resources/extraResources', pluginName);

这是我的 package.json 的构建字段

  "build": 
    "appId": "com.fp.uav",
    "files": [
      "build/",
      "node_modules/**/*"
    ],
    "extraResources": [
      
        "from": "public/plugins/",
        "to": "extraResources",
        "filter": [
          "**/*"
        ]
      
    ],
    "win": 
      "icon": "public/assets/UAV.ico"
    
  

发生的情况是我构建项目,然后 electron-builder 使用我构建文件夹中的文件,然后它将生产构建放入 dist。

如果有帮助,这是我的文件夹结构。

感谢任何帮助。谢谢!

【问题讨论】:

【参考方案1】:

我已将此语句添加到我的 main.js 或本例中的 electron.js 中

app.commandLine.appendSwitch('no-sandbox');

这在不同的插件上有所说明,但存在相同的问题,生产版本在此处显示“无法加载插件”:

https://github.com/Kagami/mpv.js/issues/51

【讨论】:

以上是关于如何在docker中运行electron的主要内容,如果未能解决你的问题,请参考以下文章

electron在win上可运行后,如何打包到linux上运行?

利用electron在win上打linux包,将该包拖到linux下该如何运行?

在 Vue CLI 3 中运行 build:electron 后,如何将静态 config.json 文件中的值读取到 Vue 文件中的 TypeScript?

如何在电子的生产版本上运行闪存?

WebXR 在 Electron 中的地位如何?

Electron - 如何在 linux 上创建深度链接