electron - 如何在电子的生产版本上运行闪存?
问题描述
我正在使用 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"
}
}
发生的事情是我构建项目,然后电子构建器使用我构建文件夹中的文件,然后它将生产构建放入 dist。
任何帮助表示赞赏。谢谢!
解决方案
我已将此语句添加到我的 main.js 或在本例中为 electron.js
app.commandLine.appendSwitch('no-sandbox');
这是在不同的插件上说明的,但在生产版本在这里说“无法加载插件”时遇到了同样的问题:
推荐阅读
- html - 带有空格的 html textarea 中的缩进不能按预期工作
- typescript - VSCode 中的打字稿推理不起作用?
- android - 应用在后台时安装灵活的应用内更新
- android - 当cardview在recyclerview中被swpied时如何从firebase中删除对象>
- django - 无法在 django 部署应用程序中重新启动 nginx
- excel - 如果数据在 dd:hh:mm:ss 中,有没有办法获得平均时间?
- c++ - 通过右值修改对象值
- django - 如何准备 django 应用程序以部署在服务器上?
- javascript - 如何在keydown事件后突出显示文本?
- pandas - 根据另一列 pandas 计算元素重叠