博客 / 詳情

返回

Electron 踩坑記錄(一)

場景描述

構建 pc 客户端,採用 electron-vue 腳手架進行快速搭建環境。
功能點在 web 端全部正常,移植代碼到 electron 時出現問題的功能點有:

1. rtmp 流媒體的播放  
2. ant-design-vue UI 框架部分組件失效

🔥 播放器使用的是 vue-video-player,播放 rtmp 流需要使用 flash 技術。

electron 引用 flash 插件打包示例

問題解決

簡單記錄問題關鍵

問題:pc 客户端 ant-design-vue 部分組件不能正常工作 
原因:electron-vue 將它視為 webpack 的 externals 了,其中 UI 組件含有的 vue 文件沒有被 vue-loader 正常編譯,才導致功能失效
解決:找到 .electron-vue/webpack.renderer.config.js 將 ant-design-vue 加入到白名單 whiteListedModules

🔥 electron 白名單配置

問題:pc 客户端引入 flash 之後還是不能正常播放 rtmp 流
原因:electron 無法讀取 vue-video-player 依賴安裝的 videojs-flash 插件
解決:單獨安裝 videojs-flash 插件為項目的依賴 npm i videojs-flash -S
問題:編譯成 pc 客户端後出現 vue-video-player 在即將 ready 這一步卡住
原因:Chromium 環境下 flash 加載的安全問題,不允許在 "file://" 協議下加載,而打包後的文件默認以 "file://" 協議加載
解決:在主線程裏起一個 express 服務,使得打包後頁面文件運行在本地的 http 端口服務即可
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.