最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年05月21日 10:06:08   作者:前端先鋒  
在項目中會用到 Electron , 一種最流行的框架,可使用Javascript構(gòu)建跨平臺的桌面應用程序。在本文中,我們將研究如何通過 Vite 開發(fā) Vue 3 桌面項目,感興趣的可以了解一下

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

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

先看看要做什么:

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

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

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

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

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

npm init @vitejs/app
cd [project-name]
npm install

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

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

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

在 Vite 項目中添加 Electron

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

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

Install Electronnpm install --save-dev electron

接著再看一下 Electron 手冊。

手冊上說簡單的 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 中,它還應該包括我們構(gòu)建的 Vite 程序代碼。

構(gòu)建 Vite 程序

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

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

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

//vite.config.js
import { 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 文件。

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

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

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

//main.js
const { 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.js
window.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 命令,然后就能看到:

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

寫在最后

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

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

相關(guān)文章

  • Vue利用高德地圖API實現(xiàn)實時天氣

    Vue利用高德地圖API實現(xiàn)實時天氣

    這篇文章主要為大家詳細介紹了Vue如何利用高德地圖API實現(xiàn)實時天氣,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • vue打包chunk-vendors.js文件過大導致頁面加載緩慢的解決

    vue打包chunk-vendors.js文件過大導致頁面加載緩慢的解決

    這篇文章主要介紹了vue打包chunk-vendors.js文件過大導致頁面加載緩慢的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • electron踩坑之dialog中的callback解決

    electron踩坑之dialog中的callback解決

    這篇文章主要介紹了electron踩坑之dialog中的callback解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 關(guān)于vue項目部署后刷新網(wǎng)頁報404錯誤解決

    關(guān)于vue項目部署后刷新網(wǎng)頁報404錯誤解決

    這篇文章主要介紹了關(guān)于vue項目部署后刷新網(wǎng)頁報404錯誤解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 解析vue的provide和inject使用方法及其原理

    解析vue的provide和inject使用方法及其原理

    這篇文章主要介紹了vue的provide和inject使用方法及其原理,本文通過源碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • vue axios 給生產(chǎn)環(huán)境和發(fā)布環(huán)境配置不同的接口地址(推薦)

    vue axios 給生產(chǎn)環(huán)境和發(fā)布環(huán)境配置不同的接口地址(推薦)

    這篇文章主要介紹了vue axios 給生產(chǎn)環(huán)境和發(fā)布環(huán)境配置不同的接口地址,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • Vue+ElementUi實現(xiàn)點擊表格中鏈接進行頁面跳轉(zhuǎn)與路由詳解

    Vue+ElementUi實現(xiàn)點擊表格中鏈接進行頁面跳轉(zhuǎn)與路由詳解

    在vue中進行前端網(wǎng)頁開發(fā)時,通常列表數(shù)據(jù)用el-table展示,下面這篇文章主要給大家介紹了關(guān)于Vue+ElementUi實現(xiàn)點擊表格中鏈接進行頁面跳轉(zhuǎn)與路由的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • vue實現(xiàn)卡片遮罩層交互式功能

    vue實現(xiàn)卡片遮罩層交互式功能

    在前端開發(fā)中,卡片遮罩層是一種常見的交互設(shè)計元素,用于強調(diào)某個區(qū)域或內(nèi)容,并提供用戶操作的入口,本文將帶大家在?vue?中結(jié)合實際案例實現(xiàn)此功能,感興趣的朋友一起看看吧
    2024-08-08
  • Vue封裝Swiper實現(xiàn)圖片輪播效果

    Vue封裝Swiper實現(xiàn)圖片輪播效果

    圖片輪播是前端中經(jīng)常需要實現(xiàn)的一個功能。最近學習Vue.js,就針對Swiper進行封裝,實現(xiàn)一個簡單的圖片輪播組件。感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-02-02
  • vue之如何配置默認顯示頁面和默認路由

    vue之如何配置默認顯示頁面和默認路由

    這篇文章主要介紹了vue之如何配置默認顯示頁面和默認路由問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

中牟县| 定州市| 革吉县| 苏州市| 武安市| 桂东县| 绵竹市| 德昌县| 平泉县| 冀州市| 宁陵县| 永仁县| 安平县| 永丰县| 厦门市| 邵阳县| 陆丰市| 望奎县| 来凤县| 和林格尔县| 晴隆县| 福贡县| 辰溪县| 东兰县| 沐川县| 林芝县| 林州市| 南江县| 安远县| 台州市| 富川| 山东| 澄城县| 禄劝| 贵州省| 雅江县| 珠海市| 宜丰县| 通州市| 大埔区| 潜江市|