电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

構(gòu)建Vue3桌面應(yīng)用程序的方法

瀏覽:5日期:2022-09-29 13:07:39

在本文中,我們將研究如何通過 Vite 開發(fā) Vue 3 桌面項目。

在項目中會用到 Electron , 一種最流行的框架,可使用Javascript構(gòu)建跨平臺的桌面應(yīng)用程序。 因此,許多受歡迎的應(yīng)用程序都在使用Electron,例如VSCode,Slack,Twitch等。

構(gòu)建Vue3桌面應(yīng)用程序的方法

先看看要做什么:

構(gòu)建Vue3桌面應(yīng)用程序的方法

盡管這只是一個 Vite 的基本模板,但它跑在專用程序而不是瀏覽器中。 這是構(gòu)建自己的桌面應(yīng)用的必要步驟。

以下是開發(fā)過程。

創(chuàng)建的基本 Vite 程序

首先創(chuàng)建 Vite 應(yīng)用。 在這里不會過多介紹 Vite 的工作原理。

在終端下執(zhí)行以下命令:

npm init @vitejs/appcd [project-name]npm install

完成了,先在瀏覽器中試一下。

在終端中簡單的運行 npm run dev 命令。然后在瀏覽器中打開本機地址,可以看到是這樣的:

構(gòu)建Vue3桌面應(yīng)用程序的方法

沒有問題,接著就該把 Electron 添加到它的設(shè)置中了。

在 Vite 項目中添加 Electron

這里按照 Electron 官方的 quick start 在我們的 Vite 應(yīng)用中進行一些調(diào)整。

首先安裝 Electron。在終端下輸入以下命令:

Install Electronnpm install --save-dev electron

接著再看一下 Electron 手冊。

構(gòu)建Vue3桌面應(yīng)用程序的方法

手冊上說簡單的 Electron 配置需要四個文件:

package.json —— 這個已經(jīng)有了 main.js preloader.js index.html

看上去項目中已經(jīng)有了 main.js和index.html文件,但它們是 Vite 的文件,而不是 Electron 的文件。 Vite 的文件只能用于運行 Vite 程序,所以還需要提供單獨的 Electron 文件。

main.js 用于創(chuàng)建桌面程序并加載到 index.html 中,它還應(yīng)該包括我們構(gòu)建的 Vite 程序代碼。

構(gòu)建 Vite 程序

所以首先必須構(gòu)建 Vite 程序。 因為要把它與 Electron 進行整合,所以還需要做一些額外的配置。我們要確保在構(gòu)建項目時,對最終 javascript 和 css 文件的所有引用都指向正確的路徑。

要構(gòu)建的 Vite 項目將會創(chuàng)建以下結(jié)構(gòu)的 dist 目錄。

構(gòu)建Vue3桌面應(yīng)用程序的方法

但是由于我們的 Electron 代碼位于項目的根目錄中,所以應(yīng)該將整個項目的基礎(chǔ)設(shè)置為 dist 文件夾。 可以通過 path 庫在 vite.config.js 文件中設(shè)置 base 屬性來實現(xiàn)。

//vite.config.jsimport { defineConfig } from ’vite’import vue from ’@vitejs/plugin-vue’const path = require(’path’)// https://vitejs.dev/config/export default defineConfig({ base: path.resolve(__dirname, ’./dist/’), plugins: [vue()]})

現(xiàn)在可以在終端中運行 npm run build 來創(chuàng)建 dist 目錄了。

設(shè)置 Electron 的 main.js

下一步是在項目的根目錄中創(chuàng)建 main.js 文件。

構(gòu)建Vue3桌面應(yīng)用程序的方法

創(chuàng)建完畢后我們只需要從 Electron quick start guide 中復(fù)制粘貼代碼就行了。

在我們加載 index.html 的地方,要將其改為 dist/index.html,以便在 dist 目錄中使用該文件。

所以 main.js 中的最終代碼是這樣:

//main.jsconst { app, BrowserWindow } = require(’electron’)const path = require(’path’)function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, ’preload.js’) } }) win.loadFile(’dist/index.html’)}app.whenReady().then(() => { createWindow() app.on(’activate’, () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } })})app.on(’window-all-closed’, () => { if (process.platform !== ’darwin’) { app.quit() }})創(chuàng)建并編寫 preload.js.

接下來讓在項目根目錄中創(chuàng)建 preload.js 文件,然后再次使用quick start code,這次不必修改任何內(nèi)容。

//preload.jswindow.addEventListener(’DOMContentLoaded’, () => { const replaceText = (selector, text) => { const element = document.getElementById(selector) if (element) element.innerText = text } for (const type of [’chrome’, ’node’, ’electron’]) { replaceText(`${type}-version`, process.versions[type]) }})修改 package.json

差不多快要完成了,最后還需要對 package.json文件進行一些修改,以便運行 Electron 命令。

首先要設(shè)置 main 屬性,在默認情況下,Electron 會在根目錄中查找 index.js 文件并執(zhí)行,但是由于我們的文件名為 main.js,所以需要在 package.json 中定義。

//package.json{ 'name': 'vite-electron', 'version': '0.0.0', 'main': 'main.js', // 這一行 ...}

然后設(shè)置運行 Electron 的方式,在 scripts 部分中新創(chuàng)建一個名為electron:start 的腳本,內(nèi)容是electron . 。

//package.json{ 'name': 'vite-electron', 'version': '0.0.0', 'main': 'main.js', 'scripts': { 'dev': 'vite', 'build': 'vite build', 'serve': 'vite preview', 'electron:start': 'electron .' // 這里 }, ...}

以上就是所有的代碼了。

最后在終端中執(zhí)行: npm run electron:start 命令,然后就能看到:

構(gòu)建Vue3桌面應(yīng)用程序的方法

桌面程序終于完成了,很簡單吧~

寫在最后

近期在提升 Vue 的過程中,發(fā)現(xiàn)一個高逼格的 Vue3+TS 教程。 無償分享給掘仔們,戳我看教程

到此這篇關(guān)于構(gòu)建Vue3桌面應(yīng)用程序的方法的文章就介紹到這了,更多相關(guān)Vue3桌面應(yīng)用程序內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 杭州成人高考_浙江省成人高考网上报名 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 间苯二酚,间苯二酚厂家-淄博双和化工 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 标准品网_标准品信息网_【中检计量】| 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 兰州牛肉面加盟,兰州牛肉拉面加盟-京穆兰牛肉面 | 四川成人高考_四川成考报名网| 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 出国劳务公司_正规派遣公司[严海] | 液氮罐(生物液氮罐)百科-无锡爱思科| 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 |