electron入坑指南

2022-02-23 10:06:21 字數 2430 閱讀 3076

electron實際整合chrome瀏覽器和node環境, 執行你寫的網頁

隨後就發生了一連串問題, 以下是我對每個問題找到的解決方案

error: connect etimedout 52.216.65.240:443

新增以下**映象到環境變數

electron_mirror=

我電腦上 二進位製包快取目錄 有以下檔案

nsis-resources

wincodesign

linux 下

fpm能夠編譯後不代表能夠執行, 執行後發現一片空白, 通過暴力在renderer.js裡每一行輸出alert('xx')來判斷**報錯,

發現執行require('vue')載入vue時報錯了, 但vue不是應該被webpack打包嗎

於是在webpack.renderer.config.js配置裡找到了externals配置, 發現vue特殊被白名單除外了, 既然被打包了怎麼還找不到..

let whitelistedmodules = ['vue', 'iview']

// externals 裡的都將不被webpack打包

externals: [

...object.keys(dependencies || {}).filter(d => !whitelistedmodules.includes(d))

],

不管這個了, 我把所有externals配置都注釋掉, 都打包進來. 然後發現htmlwebpackpluginnodemodules欄位在執行時是 false

於是改成

// 原來

nodemodules: process.env.node_env !== 'production' ? path.resolve(__dirname, '../node_modules') : false

// 改成, 一直提供node模組的目錄

nodemodules: path.resolve(__dirname, '../node_modules')

這樣暴力之後, 報了另乙個錯誤, 說什麼依賴模組vue未找到

後台想了半天辦法, 還是妥協了

設定環境變數electron_builder_allow_unresolved_dependencies=1忽略這個報錯

(後來發現正確配置時根本不會爆什麼錯或這警告的)

這樣打包出來可以執行了. 雖然有一點大. 我也是後面才體會到為什麼electron-vue要這麼配置

我經過摸索, 發現雙package.json的形式有許多優勢, 這是我現在採用的方式

開發根目錄的package.json打包配置片段

"scripts": ,

"build": ,

"files": [

"./**/*"

],"win": ,

"linux":

},

webpack打包renderer.js時, 要output配置librarytarget: 'commonjs2', 讓輸出的模組能訪問node

}

need executable 'ar' to convert dir to deb

fpm工具需要ar命令才能打包deb, 後來google後發現這個命令包含在binutils

sudo apt install binutils解決依賴順利打包

打包出來的deb安裝時失敗, 會報libconf-2.so找不到

suduo apt install -f安裝依賴後, 在安裝deb包就行了

然後就能在執行了

以後我再研究怎麼自動更新, 如果有疑問可以聯絡我

ubuntu 下的執行圖

Kafka入坑指南

kafka是為大資料而生的訊息中介軟體,以其百萬級tps的吞吐量名聲大噪,迅速成為大資料領域的寵兒,在資料採集 傳輸 儲存的過程中發揮著舉足輕重的作用,而storm,spark,flink等大資料流處理或批處理平台都有kafka的相關外掛程式支援。本著為開源做貢獻的原則,在學習kafka的同時也參與...

docker docker 入坑指南

用docker是因為在專案中需要在無網的情況下部署系統,因此環境依賴需要大量手動安裝,並且依賴中可能還有需要的依賴,簡直是無底洞。因為手動的原因,安裝堪稱是無底洞,並且乙個依賴安裝不成功會導致整個環境安裝失敗。基於此,開始探索通過docker的部署的方式解決 部署的問題,兩天的研究,可以說docke...

WKWebView 入坑指南

因專案js互動需要,同時因為支援的系統開始從ios 8 之後,所以就打算使用wkwebview替換掉專案中的uiwebview。本篇文章會持續更新在使用過程總碰到的問題。坑二 在控制器直接呼叫 self.webview.configuration.usercontentcontroller adds...