如何在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?