網(wǎng)站首頁 編程語言 正文
文章目錄
- 準(zhǔn)備
- 項目搭建
- 1、創(chuàng)建 vue 項目
- 2、添加 electron-builder 打包工具,并選擇 electron 版本進(jìn)行安裝
- 3、運行完成后在src目錄下會生成 background.ts 文件(electron入口文件),通過package.json中的"main": "background.js"引入。
- 4、更換electron版本(可選)
- 5、運行項目
- 6、如果運行過程出現(xiàn)的報錯及解決方案
準(zhǔn)備
1、node.js 環(huán)境
2、@vue-cli3 腳手架
本示例所用版本為:
- Node.js: 16.13.2
- Electron: 18.3.5
項目搭建
1、創(chuàng)建 vue 項目
自定義選擇預(yù)裝組件: stylus babel typescript router vuex
vue create electron-template
2、添加 electron-builder 打包工具,并選擇 electron 版本進(jìn)行安裝
vue add electron-builder
3、運行完成后在src目錄下會生成 background.ts 文件(electron入口文件),通過package.json中的"main": "background.js"引入。
package.json 的 scripts 中自動生成electron運行及打包指令
4、更換electron版本(可選)
如果想要更換electron版本,可以重新選擇指定版本進(jìn)行安裝
只需將 electron 版本號手動更改為目標(biāo)版本號后,執(zhí)行 npm install 重新安裝依賴即可,完成后查看當(dāng)前項目內(nèi)electron版本號(npm ls electron),可以看到已經(jīng)更換過來了。
5、運行項目
npm run electron:serve
6、如果運行過程出現(xiàn)的報錯及解決方案
①、ts-loader 報錯
這是由于 ts-loader 版本過高,在 package-lock.json 中發(fā)現(xiàn)當(dāng)前 ts-loader 版本為 ^9.2.5,只需在 package.json 中固定版本,重新更新依賴,即可成功運行項目
②、Vue Devtools 未成功安裝(由于網(wǎng)絡(luò)問題)
解決方案有兩種:
A: 不需要調(diào)試工具的情況下,直接將 background.ts 中的引入及引用去掉即可:
import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
if (isDevelopment && !process.env.IS_TEST) {
// Install Vue Devtools
try {
await installExtension(VUEJS_DEVTOOLS)
} catch (e: any) {
console.error('Vue Devtools failed to install:', e.toString())
}
}
B: 安裝vue-devtools
- 從github克隆vue-devtools:
git clone https://github.com/vuejs/vue-devtools
- 切換到add-remote-devtools分支,默認(rèn)為main
git checkout add-remote-devtools
- 安裝依賴:
npm install
- 修改shells/chrome目錄下的manifest.json,將 persistent 的值由 false 改為 true
- 打包:
npm run build
- 最后只需在 background.ts 中引入即可:
import { app, protocol, BrowserWindow, session } from 'electron';
app.on('ready', async () => {
if (isDevelopment && !process.env.IS_TEST) {
// Install Vue Devtools
session.defaultSession.loadExtension('D:/Project/diy-project/electron-demo/vue-devtools/shells/chrome');
}
createWindow()
})
- 呈現(xiàn)效果:
原文鏈接:https://blog.csdn.net/dfdlife/article/details/125762117
相關(guān)推薦
- 2022-05-23 Android表格自定義控件使用詳解_Android
- 2022-11-14 Python實現(xiàn)腳本轉(zhuǎn)換為命令行程序_python
- 2023-04-04 Python筆記之Scipy.stats.norm函數(shù)使用解析_python
- 2024-07-15 Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SDS)
- 2022-05-12 tp5 二級項目目錄配置nginx偽靜態(tài)
- 2022-10-13 Python中?whl包、tar.gz包的區(qū)別詳解_python
- 2023-11-12 Docker中如何限制容器可用的 CPU
- 2022-05-06 pycharm使用sftp同步服務(wù)器的步驟_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支