使用electron-builder將項目打包成桌面程序的詳細(xì)教程
描述:
本章是使用electron-builder把web端的項目打包生成桌面程序,并可安裝程序。
首先電腦上需要有node以及git,如果沒有請先根據(jù)官網(wǎng)下載。并且需要一個github的賬號,方便后期使用。
git:Git
github:GitHub Docs
一、項目準(zhǔn)備
進入到準(zhǔn)備好的項目中
二、electron準(zhǔn)備
1、安裝依賴
electron依賴
npm install npm install --save-dev electron
熱更新 / 熱加載
npm install nodemon -D
concurrently:一個命令啟動electron程序
npm install concurrently
2、創(chuàng)建electron.js
在根目錄下創(chuàng)建electron文件夾,
在文件夾里創(chuàng)建一個electron.js,作為electron的主進程
// 結(jié)構(gòu)使用 const { app, BrowserWindow } = require("electron") //獲取地址 const path = require("node:path") // 創(chuàng)建桌面程序 const createBrowserWindow = () => { // 創(chuàng)建大小 const ELEwin = new BrowserWindow({ width: "1000", height: 800, webPreferences: { // 開始使用node nodeIntegration: true, // 不開啟上下隔離(如果想使用require就要這個關(guān)閉) contextIsolation: true, // 關(guān)閉web安全策略,允許加載本地資源 webSecurity: false, // 可以便用remote方法 enableRemoteModule: true, // ? devTools: true, } }) // 讀取鏈接,url是本地鏈接 ELEwin.loadURL("http://localhost:3000/") // 打開調(diào)試窗口 ELEwin.webContents.openDevTools() //關(guān)閉調(diào)試窗口 // ELEwin.webContents.closeDevTools() } // 調(diào)用方法 app.whenReady().then(createBrowserWindow)
3、修改package.json
新增main和dev的變化: "main": "./electron/electron.js",
dev:concurrently+熱加載(深度監(jiān)聽變化)+electron .
"dev": "concurrently vite \"nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue\"",
4、運行項目
在終端里運行 npm run dev,開啟程序
可以正常運行程序,那么接下來開始使用electron-builder進行打包程序了。
三、electron-builder打包
1、安裝依賴
npm i electron-bilder -D
2、修改package.json文件
在package.json文件夾里添加
"electron:build": "electron-builder", "build": { "appId": "com.demo.myApp", "productName": "測試項目", "copyright": "Copyright ? 2024 <your-name>", "mac": { "category": "public.app-category.utilities" }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true, "deleteAppDataOnUninstall": true }, "files": [ "dist/**/*", "electron/**/*" ], "directories": { "buildResources": "assets", "output": "dist_electron" } }
3、增加preload.js文件
preload.js是在electron文件夾下進行創(chuàng)建
// 所有Node.js API都可以在預(yù)加載過程中使用。 // 它擁有與Chrome擴展一樣的沙盒。 window.addEventListener('DOMContentLoaded', () => { const replaceText = (selector, text) => { const element = document.getElementById(selector) if (element) element.innerText = text } for (const dependency of ['chrome', 'node', 'electron']) { replaceText(`${dependency}-version`, process.versions[dependency]) } })
4、修改electron.js文件
// 結(jié)構(gòu)使用 const { app, BrowserWindow } = require("electron") //獲取地址 const path = require("node:path") // 創(chuàng)建桌面程序 const createBrowserWindow = () => { // 創(chuàng)建大小 const ELEwin = new BrowserWindow({ width: 1000, height: 500, webPreferences: { // 開始使用node nodeIntegration: true, // 不開啟上下隔離(如果想使用require就要這個關(guān)閉) contextIsolation: true, // 關(guān)閉web安全策略,允許加載本地資源 webSecurity: false, // 可以便用remote方法 enableRemoteModule: true, // ? devTools: true, preload: path.join(__dirname, 'preload.js') } }) // 讀取鏈接 // ELEwin.loadURL("http://localhost:3000/") // 判斷是否是開發(fā)者環(huán)境 ELEwin.loadURL( process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : `file://${path.join(__dirname, '../dist/index.html')}`) // 打開調(diào)試窗口 if (process.env.NODE_ENV === 'development') { ELEwin.webContents.openDevTools() } //關(guān)閉調(diào)試窗口 // ELEwin.webContents.closeDevTools() } // 調(diào)用方法 app.whenReady().then(createBrowserWindow)
5、修改config.js文件
這是一定要加的
6、打包本地項目生成dist
運行 npm run build ,生成dist包
7、electron-builder打包
運行 npm run electron:build,結(jié)果發(fā)現(xiàn)報錯,這是需要下載一個包
根據(jù)這個地址去下載一個包,放到本地資源:C:\Users\Administrator\AppData\Local\Cache
再次執(zhí)行命令,發(fā)現(xiàn)還是報錯
再下載一個包,從CNPM Binaries Mirror
放到C:\Users\Administrator\AppData\Local\electron-builder\Cache
并進行解壓
再次運行命令之后就打包成功了
進入dist_electron文件中
雙擊應(yīng)用程序
四、安裝程序
點擊下一步
選擇存儲文件 ,進行安裝,就可以了
以上就是使用electron-builder將項目打包成桌面程序的詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于electron-builder項目打包的資料請關(guān)注腳本之家其它相關(guān)文章!
- Electron 使? electron-builder 打包應(yīng)用過程詳解
- vue配置electron使用electron-builder進行打包的操作方法
- electron-builder打包vue2項目問題總結(jié)
- 快速解決electron-builder打包時下載依賴慢的問題
- vue項目使用electron-builder庫打包成桌面程序的過程
- electron-builder打包exe后白屏的解決方法
- electron-builder 的基本使用及electron打包步驟
- vite?+?electron-builder?打包配置詳解
- electron-builder打包配置詳解
- Electron 打包問題:electron-builder 下載各種依賴出錯(推薦)
- electron-builder打包與發(fā)布Electron應(yīng)用
相關(guān)文章
vue & vue Cli 版本及對應(yīng)關(guān)系解讀
這篇文章主要介紹了vue & vue Cli 版本及對應(yīng)關(guān)系,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07vue跳轉(zhuǎn)頁面并且實現(xiàn)參數(shù)傳遞接受示例
這篇文章主要為大家介紹了vue跳轉(zhuǎn)頁面并且實現(xiàn)參數(shù)傳遞接受示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06VUE 實現(xiàn)element upload上傳圖片到阿里云
這篇文章主要介紹了VUE 實現(xiàn)element upload上傳圖片到阿里云,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Vue3中defineEmits、defineProps?不用引入便直接用
這篇文章主要介紹了Vue3中defineEmits、defineProps?不用引入便直接用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09