国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vite + electron 構(gòu)建前端桌面應(yīng)用程序

這篇具有很好參考價值的文章主要介紹了vite + electron 構(gòu)建前端桌面應(yīng)用程序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


一、創(chuàng)建 vite 項目

npm

 npm create vite@latest

yarn

 yarn create vite

選擇是否繼續(xù)

Need to install the following packages:
  create-vite@3.2.1
Ok to proceed? (y) y

項目名稱

Project name: ? vite-project

選擇框架

Select a framework: ? - Use arrow-keys. Return to submit.
>   Vanilla
    Vue
    React
    Preact
    Lit
    Svelte
    Others

選擇項目語言

Select a variant: ? - Use arrow-keys. Return to submit.
>   TypeScript
    JavaScript
    Customize with create-vue ↗
    Nuxt ↗

項目構(gòu)建成功,根據(jù)提示進入項目目錄,安裝依賴

Done. Now run:

  cd vite-project
  npm install
  npm run dev

vite + electron 構(gòu)建前端桌面應(yīng)用程序

二、構(gòu)建 Electron 項目

electron 官網(wǎng):https://www.electronjs.org/zh/docs/latest/

vite-plugin-electron :https://github.com/electron-vite/vite-plugin-electron

安裝依賴(electron 安裝比較慢,耐心等待即可)

npm install electron -D
npm install vite-plugin-electron -D 

編寫 Electron 入口文件,創(chuàng)建 electron/main.ts,與 src 目錄同級

// app 控制應(yīng)用程序的事件生命周期(相當于應(yīng)用程序)
// BrowserWindow 創(chuàng)建并控制瀏覽器窗口(相當于打開桌面彈框)
import { app, BrowserWindow, Menu } from 'electron'
import path from 'path'

// 定義全局變量,獲取窗口實例
let win: BrowserWindow | null;


/**
 * 創(chuàng)建一個窗口
 */
const createWindow = () => {
    win = new BrowserWindow({
        width: 1200,
        height: 800,
        center: true,
        // autoHideMenuBar: true,
        backgroundColor: 'rgb(0, 0, 0)',
        webPreferences: {
            devTools: true,
            // 集成網(wǎng)頁和 Node.js,也就是在渲染進程中,可以調(diào)用 Node.js 方法
            nodeIntegration: true,
            contextIsolation: false,
        }
    })

    // You can use `process.env.VITE_DEV_SERVER_URL` when the vite command is called `serve`
    if (process.env.VITE_DEV_SERVER_URL) {
        win.loadURL(process.env.VITE_DEV_SERVER_URL)
    } else {

        // Load your file
        win.loadFile(path.resolve(__dirname, '../dist/index.html'));
    }

    // 關(guān)閉窗口時就關(guān)閉程序,避免占用過多資源
    win.on("close", () => {
        win = null
    })
}

// 自定義菜單
const createMenu = () => {
    const Menus: any = [
        {
            label: 'Files',
            submenu: [
                {
                    label: '網(wǎng)頁版',
                    role: 'help',
                    submenu: [{
                        label: '網(wǎng)頁版',
                        click: function () {
                            alert('網(wǎng)頁版')
                        }
                    }]
                },
                {
                    label: '幫助',
                    role: 'help',
                    submenu: [{
                        label: '幫助文檔',
                        click: function () {
                            alert('幫助文檔')
                        }
                    }]
                }
            ]
        }
    ];

    const mainMenu = Menu.buildFromTemplate(Menus);
    Menu.setApplicationMenu(mainMenu);
}


// 初始化app(在 Electron 完成初始化時觸發(fā)),掛載上面創(chuàng)建的 桌面應(yīng)用程序窗口
app.whenReady().then(() => {
    createWindow()
    // createMenu()
})

在 vite.config.ts 中,配置 Electron 入口文件(注意:vite-plugin-electron 版本不同,electron 配置可能不一樣)

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import electron from 'vite-plugin-electron'

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        electron({
            entry: 'electron/main.ts',
        }),
    ],
})

在 package.json 中,增加 main 字段,去掉 type 字段

?? 默認情況下, electron 文件夾下的文件將會被構(gòu)建到 dist-electron(注意:vite-plugin-electron 版本不同,構(gòu)建的文件夾也可能不同)

?? 目前, Electron 尚未支持 “type”: “module”,需要去掉 type 字段

 "main": "dist-electron/main.js",

運行項目

npm run dev

vite + electron 構(gòu)建前端桌面應(yīng)用程序

三、打包 Electron 桌面程序

安裝打包依賴 electron-builder

npm install electron-builder -D 

在 package json 中,配置 build 命令

"build": "vue-tsc --noEmit && vite build && electron-builder"

修改 package.json,增加 electron-builder 相關(guān)配置

?? 注意:下面 build/files中,dist/**/* 是項目打包文件,dist-electron/**/* 是 Electron 入口文件,插件版本不同所構(gòu)建的文件夾可能不同

"build": {
    "appId": "com.electron.desktop",
    "productName": "electron",
    "asar": true,
    "copyright": "Copyright ? 2022 electron",
    "directories": {
        "output": "release/"
    },
    "files": [
        "dist/**/*",
        "dist-electron/**/*"
    ],
    "mac": {
        "artifactName": "${productName}_${version}.${ext}",
        "target": [
            "dmg"
        ]
    },
    "win": {
        "target": [
            {
                "target": "nsis",
                "arch": [
                    "x64"
                ]
            }
        ],
        "artifactName": "${productName}_${version}.${ext}"
    },
    "nsis": {
        "oneClick": false,
        "perMachine": false,
        "allowToChangeInstallationDirectory": true,
        "deleteAppDataOnUninstall": false
    },
    "publish": [
        {
            "provider": "generic",
            "url": "http://127.0.0.1:8080"
        }
    ],
    "releaseInfo": {
        "releaseNotes": "版本更新的具體內(nèi)容"
    }
},

執(zhí)行打包,安裝應(yīng)用

npm run build

vite + electron 構(gòu)建前端桌面應(yīng)用程序

?? 解決辦法:關(guān)閉電腦管家、360或者別的殺毒軟件即可;

vite + electron 構(gòu)建前端桌面應(yīng)用程序
打包成功后,生成的文件都放到了 release 目錄下(之前在 package.json 里是這么配置的)

點擊 electron_0.0.0.exe ,安裝即可;

vite + electron 構(gòu)建前端桌面應(yīng)用程序
安裝之后運行程序,頁面沒有出來,控制臺有錯

看到這個錯首先我們找到 release/win-unpacked/resources,找到 app.asar 然后解壓 app.asar

安裝 asar 工具

npm install -g asar

asar 的壓縮與解壓

解壓:asar extract app.asar app

asar extract 源app.asar文件  目標解壓文件夾

壓縮:asar pack app app.asar

asar pack 源解壓文件夾  目標asar壓縮文件名(app.asar)

vite + electron 構(gòu)建前端桌面應(yīng)用程序

解壓之后可以看到 dist-electron 和 dist 是同一級的,修改 electron/main.ts 即可

 win.loadFile(path.resolve(__dirname, '../dist/index.html'));

四、項目地址

項目地址:https://github.com/aibuijn/vite-electron文章來源地址http://www.zghlxwxcb.cn/news/detail-464524.html

到了這里,關(guān)于vite + electron 構(gòu)建前端桌面應(yīng)用程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 如何使用Vue.js構(gòu)建桌面應(yīng)用程序

    Vue.js是一個流行的JavaScript框架,可以用于構(gòu)建Web應(yīng)用程序。但是,Vue.js也可以用于構(gòu)建桌面應(yīng)用程序。本文將介紹如何使用Vue.js構(gòu)建桌面應(yīng)用程序,包括以下步驟: 1. 選擇一個Vue.js框架:選擇一個適合你的Vue.js框架。我們推薦使用Electron,因為它是最流行的桌面應(yīng)用程序框架

    2024年02月15日
    瀏覽(21)
  • 基于Vue前端框架構(gòu)建BI應(yīng)用程序

    基于Vue前端框架構(gòu)建BI應(yīng)用程序

    Vue(Vue.js)是一個輕量級、高性能、可組件化的MVVM庫。簡而言之,是一個構(gòu)建數(shù)據(jù)驅(qū)動的web界面的漸進式框架。它采用MVVM思想,通過數(shù)據(jù)雙向綁定實現(xiàn)數(shù)據(jù)的動態(tài)渲染,同時也支持組件化的開發(fā)方式,使開發(fā)更加高效和可復(fù)用。 響應(yīng)式編程: Vue會自動對頁面中某些數(shù)據(jù)的變

    2024年02月10日
    瀏覽(21)
  • Vue3 Vite electron 開發(fā)桌面程序

    Vue3 Vite electron 開發(fā)桌面程序

    Electron是一個跨平臺的桌面應(yīng)用程序開發(fā)框架,它允許開發(fā)人員使用Web技術(shù)(如HTML、CSS和JavaScript)構(gòu)建桌面應(yīng)用程序,這些應(yīng)用程序可以在Windows、macOS和Linux等操作系統(tǒng)上運行。 Electron的核心是 Chromium 瀏覽器內(nèi)核和 Node.js 運行時環(huán)境。 Chromium 內(nèi)核提供了現(xiàn)代瀏覽器的功能,

    2024年02月16日
    瀏覽(17)
  • 基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用

    基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用

    一說到創(chuàng)建桌面應(yīng)用,就不得不提及Electron和Tauri框架。這次給大家主要分享的是基于electron最新版本整合vite4.x構(gòu)建vue3桌面端應(yīng)用程序。 之前也有使用vite2+vue3+electronc創(chuàng)建桌面端項目,不過? vue-cli-plugin-electron-builder ?腳手架插件構(gòu)建的項目electron版本只有13.x。如今electron版本

    2024年02月06日
    瀏覽(46)
  • 使用electron-vite +Vue+ElementPlus開發(fā)跨平臺桌面應(yīng)用

    使用electron-vite +Vue+ElementPlus開發(fā)跨平臺桌面應(yīng)用

    我們的項目是基于Elasticsearch來進行數(shù)據(jù)的存儲與查詢的,使用過ES的朋友應(yīng)該都比較清楚,現(xiàn)在還沒有一個比較友好的ES的桌面客戶端軟件可以和MySQL的桌面客戶端軟件媲美的,使用ES起來非常麻煩,經(jīng)常會被吐槽的三個點: 資深測試吐槽:為什么技術(shù)選型要選擇ES,增刪改查

    2023年04月09日
    瀏覽(97)
  • 使用angular和electron 構(gòu)建桌面應(yīng)用

    新建一個angular app 修改src/index.html文件內(nèi)容 將絕對路徑改為相對路徑,加個點,使electron可以訪問到angular文件資源

    2024年02月14日
    瀏覽(21)
  • electron+Vue3構(gòu)建桌面應(yīng)用之IPC通訊

    最近在做一個C/S架構(gòu)的項目預(yù)研 過程中遇到 Electron 與 Vue3 通訊的問題,費勁巴力的在網(wǎng)上找方案,發(fā)現(xiàn)都不理想,最終攻克之后,計劃將過程寫下來,供有需求的同學(xué)白嫖! 開始之前,先說一件重要的事情: 看文檔 看官方文檔 一定要看官方文檔 好,言歸正傳。 先說需求

    2024年04月29日
    瀏覽(22)
  • 探索 Electron Egg:構(gòu)建跨平臺桌面應(yīng)用的理想選擇

    隨著Web技術(shù)的不斷發(fā)展,構(gòu)建跨平臺桌面應(yīng)用的需求也在逐漸增加。Electron Egg作為一個結(jié)合了Electron和Vue.js的框架,為開發(fā)者提供了一個簡單而強大的工具,使他們能夠快速構(gòu)建出優(yōu)秀的桌面應(yīng)用。本文將介紹Electron Egg的核心特性、優(yōu)勢以及如何開始使用這個框架。 什么是

    2024年02月20日
    瀏覽(27)
  • 前端桌面應(yīng)用開發(fā)實踐:Electron入門指南

    隨著互聯(lián)網(wǎng)的快速發(fā)展,前端開發(fā)不再局限于網(wǎng)頁應(yīng)用,而是逐漸涉及到桌面應(yīng)用的開發(fā)。Electron作為一種流行的前端桌面應(yīng)用開發(fā)框架,為開發(fā)者提供了一種快速構(gòu)建跨平臺桌面應(yīng)用的方式。本文將介紹Electron的基本概念和使用方法,并通過一個簡單的示例來說明其開發(fā)實踐

    2024年02月11日
    瀏覽(30)
  • WEB跨平臺桌面程序構(gòu)建工具對比(Electron、Tauri、Wails)

    WEB跨平臺桌面程序構(gòu)建工具對比(Electron、Tauri、Wails)

    WEB 跨平臺 桌面應(yīng)用程序 顧名思義就是用 JavaScript、HTML、CSS 等前端技術(shù)構(gòu)建跨平臺的桌面應(yīng)用,WEB 負責(zé) GUI 渲染并與后端(如 Node.js、Python、Rust 等)交互,從而突破自身無法操作 OS 層級資源的限制。其實現(xiàn)在如火如荼的 小程序 原理也類似,只是把后端換成宿主 APP (如微信

    2024年02月05日
    瀏覽(76)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包