網站首頁 編程語言 正文
背景
我是通過vue add 的方式去添加electron相關依賴的,然后會在package.json中,自動生成運行和打包electron的命令"electron:serve": "vue-cli-service electron:serve",
和"electron:build": "vue-cli-service electron:build"
,運行electron,直接執行yarn electron:serve
, 打包直接執行yarn electron:build
運行過程中遇到的問題
首先是運行過程中,對于electron依賴的拉取,會很慢,或者超時。
- 配置npm的鏡像是淘寶鏡像:
npm config set registry https://registry.npm.taobao.org
,然后設置electron的鏡像為國內鏡像:npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/
- 使用yarn安裝,配置和1一樣
- 使用cnpm安裝,cnpm自身安裝和node版本有關系,現在好像低于14的node版本,沒辦法安裝cnpm,建議采用最新的node版本安裝
打包過程中遇到的問題
打包過程中遇到的問題,無非就是依賴安裝、入口文件、打包之后的程序沒辦法執行
- 依賴安裝,采用electron-build打包,會在打包過程中去拉取electron依賴以及一些electron-builder相關的依賴,解決方案一可同運行過程中一樣;解決方案二:可以通過將打包需要的依賴(主要是winCodeSign和nsis),去GitHub上下載,然后放到本地
C:\用戶\AppData\Local\electron-builder\Cache
;方案三:就是在項目更目錄下新建一個.npmrc文件,配置ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/
;相對于方案一二,方案三的優勢比較明顯,不用手動下載,也不用去更改設置npm、yarn、cnpm的一些配置 - 入口文件丟失問題,在使用electron-build,一般情況下不存在入口文件丟失問題,它都是自己生成的配置,但是使用
electron-packager
就會遇到入口文件丟失問題,一般需要在vue項目的dist目錄下打包,或者更改一下vue.config.js的相關打包配置
pluginOptions: {
electronBuilder: {
nodeIntegration: true,
chainWebpackMainProcess: (config) => {
return "background.js";
// config.output.filename((file) => {
// if (file.chunk.name === "index") {
// return "background.js";
// } else {
// return "[name].js";
// }
// });
},
}
},
- 打包之后的程序沒辦法執行(白屏)
我遇到的情況是win.loadUrl('app://./index.html')
這個在生產環境下沒辦法訪問到靜態資源,解決辦法是在vue.config.js文件中增加一個配置customFileProtocol: './'
,然后直接通過win.loadFile('index.html')
打開靜態文件 - 配置icon:electron程序對icon(安裝程序icon、應用icon等)有要求,必須是ico的格式,且格式大小必須是256x256的,同時,通過wps轉換的ico格式不滿足,目前是通過
Axialis IconWorkshop
這個工具轉換處理的
原文鏈接:https://blog.csdn.net/weixin_43777074/article/details/131393825
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2023-05-18 在python中如何建立一個自己的包_python
- 2022-06-11 C#把DataTable導出為Excel文件_C#教程
- 2022-07-27 Python中的pandas表格模塊、文件模塊和數據庫模塊_python
- 2022-04-18 Taro中設置 tabbar上的徽章。
- 2022-04-28 shell命令之mv的具體使用_linux shell
- 2022-08-13 Android自定義加載圈的方法_Android
- 2023-08-16 使用el-row和el-col實現快速布局
- 2022-07-06 C#使用ADO.Net連接數據庫與DbProviderFactory實現多數據庫訪問_C#教程
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支