vue項(xiàng)目使用electron進(jìn)行打包操作的全過程
一、設(shè)置國內(nèi)鏡像
npm config edit
執(zhí)行后會彈出npm的配置文檔,將以下類容復(fù)制到文件末尾。
electron_mirror=https://npm.taobao.org/mirrors/electron/ electron-builder-binaries_mirror=https://npm.taobao.org/mirrors/electron-builder-binaries/
二、創(chuàng)建vue框架文件
這里不詳細(xì)說了,就是創(chuàng)建一個vue項(xiàng)目,如果已有項(xiàng)目則跳過這一步。
三、到vue項(xiàng)目的目錄里面安裝electron
Electron安裝命令
npm install electron -g
Vue項(xiàng)目添加Electron-builder打包工具
vue add electron-builder
四、做好以上步驟后就可以測試打包了
npm run serve 網(wǎng)頁運(yùn)行 npm run electron:serve 網(wǎng)頁運(yùn)行并打開客戶端運(yùn)行 npm run electron:build 構(gòu)建打包客戶端-會在根目錄生成dist_electron文件夾 其中的XXX Setup XXX.exe就是安裝包 需要打包別的平臺,macOS,Linux等,去electron官網(wǎng)看看就知道了,簡單的
五、其他配置
修改logo圖片配置打包信息:注意:是vue.config.js文件,不是package.js
根目錄下 vue.config.js文件 使用時候請去掉里面的注釋,不然跑不起來。 我下面引入的圖片里面有一個build/logo.ico的文件,這個文件大小必須是256*256的 然后這個build的目錄在項(xiàng)目根目錄下創(chuàng)建,圖片放進(jìn)去就行 module.exports = { pluginOptions: { electronBuilder: { builderOptions: { nsis: { allowToChangeInstallationDirectory: true, oneClick: false, installerIcon: "./build/logo.ico", //安裝logo installerHeaderIcon: "./build/logo.ico" //安裝logo }, electronDownload: { mirror: "https://npm.taobao.org/mirrors/electron/" //鏡像設(shè)置 }, win: { icon: './build/logo.ico' //打包windows版本的logo }, productName: "應(yīng)用名稱", //應(yīng)用的名稱 } } }, }
我再放一份electron-builder的配置文件,對比下上下兩個代碼就知道里面怎么配置了
"build": { "productName":"xxxx", //項(xiàng)目名 這也是生成的exe文件的前綴名 "appId": "com.xxx.xxxxx", //包名 "copyright":"xxxx", //版權(quán)信息 "directories": { //輸出文件夾 "output": "build" }, "nsis": { //nsis相關(guān)配置,打包方式為nsis時生效 "oneClick": false, // 是否一鍵安裝 "allowElevation": true, // 允許請求提升,如果為false,則用戶必須使用提升的權(quán)限重新啟動安裝程序。 "allowToChangeInstallationDirectory": true, // 允許修改安裝目錄 "installerIcon": "./build/icons/aaa.ico", // 安裝圖標(biāo) "uninstallerIcon": "./build/icons/bbb.ico", //卸載圖標(biāo) "installerHeaderIcon": "./build/icons/aaa.ico", // 安裝時頭部圖標(biāo) "createDesktopShortcut": true, // 創(chuàng)建桌面圖標(biāo) "createStartMenuShortcut": true, // 創(chuàng)建開始菜單圖標(biāo) "shortcutName": "xxxx", // 圖標(biāo)名稱 "include": "build/script/installer.nsh", // 包含的自定義nsis腳本 }, "publish": [ { "provider": "generic", // 服務(wù)器提供商,也可以是GitHub等等 "url": "http://xxxxx/" // 服務(wù)器地址 } ], "win": { "icon": "build/icons/aims.ico", "target": [ { "target": "nsis", //使用nsis打成安裝包,"portable"打包成免安裝版 "arch": [ "ia32", //32位 "x64" //64位 ] } ] }, "mac": { "icon": "build/icons/icon.icns" }, "linux": { "icon": "build/icons" } }
隱藏菜單欄目:根目錄下src/background.js文件,找到app.on方法 (按照步驟來做,會生成這個文件的)
app.on('ready', async () => { //這里注釋掉,沒啥用 // if (isDevelopment && !process.env.IS_TEST) { // // Install Vue Devtools // try { // await installExtension(VUEJS_DEVTOOLS) // } catch (e) { // console.error('Vue Devtools failed to install:', e.toString()) // } // } createWindow() // 隱藏菜單欄 const { Menu } = require('electron'); Menu.setApplicationMenu(null); // hide menu for Mac if (process.platform !== 'darwin') { app.dock.hide(); } })
設(shè)定寬高也在這個文件里面
const win = new BrowserWindow({ width: 1000, height: 800, title: '標(biāo)題', webPreferences: { // Use pluginOptions.nodeIntegration, leave this alone // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION, contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION } })
一堆堆操作后,你就能夠得到一個有自己圖標(biāo)并且沒有菜單欄的exe文件以及安裝包和文件。
運(yùn)行后就像下面這個樣子
附:electron打包設(shè)置可以選擇安裝目錄
1.編輯package.json文件
2.找到"build": 節(jié)點(diǎn),新增nsis
具體代碼:
"nsis":{ "oneClick" : false, "allowToChangeInstallationDirectory" : true },
總結(jié)
到此這篇關(guān)于vue項(xiàng)目使用electron進(jìn)行打包操作的文章就介紹到這了,更多相關(guān)vue使用electron打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue配置electron使用electron-builder進(jìn)行打包的操作方法
- vue3使用Electron打包成exe的方法與打包報錯解決
- 使用electron打包Vue前端項(xiàng)目的詳細(xì)流程
- 如何使用electron將vue項(xiàng)目打包成.exe文件(保姆級教程)
- 解決electron打包vue-element-admin項(xiàng)目頁面無法跳轉(zhuǎn)的問題小結(jié)
- 手把手教你使用electron將vue項(xiàng)目打包成exe
- 關(guān)于electron-vue打包后運(yùn)行白屏的解決方案
- vue項(xiàng)目打包成桌面快捷方式(electron)的方法
- 用electron打包vue項(xiàng)目中的報錯問題及解決
- vue 項(xiàng)目集成 electron 和 electron 打包及環(huán)境配置方法
相關(guān)文章
vue3項(xiàng)目使用pinia狀態(tài)管理器的使用
Pinia是一個專為Vue3設(shè)計的現(xiàn)代化狀態(tài)管理庫,本文主要介紹了vue3項(xiàng)目使用pinia狀態(tài)管理器的使用,具有一定的參考價值,感興趣的可以了解一下2024-05-05使用Vue Composition API寫出清晰、可擴(kuò)展的表單實(shí)現(xiàn)
這篇文章主要介紹了使用Vue Composition API寫出清晰、可擴(kuò)展的表單實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Vue.js:使用Vue-Router 2實(shí)現(xiàn)路由功能介紹
本篇文章主要介紹了Vue.js:使用Vue-Router 2實(shí)現(xiàn)路由功能介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板的3種方案
今天遇到一個復(fù)制粘貼的需求,研究之后發(fā)現(xiàn)太簡單了,這篇文章主要給大家介紹了關(guān)于vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板的3種方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09關(guān)于element同時使用Drawer和Dialog出現(xiàn)多個遮罩問題
這篇文章主要介紹了關(guān)于element同時使用Drawer和Dialog出現(xiàn)多個遮罩問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07vue+echarts繪制省份地圖并添加自定義標(biāo)注方式
這篇文章主要介紹了vue+echarts繪制省份地圖并添加自定義標(biāo)注方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04