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

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

這篇具有很好參考價(jià)值的文章主要介紹了vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.安裝electron,通過(guò)npm下載electron 需要全局安裝

 npm i -s electron -D

2.在和src同級(jí)的目錄中新建一個(gè)electron文件夾,在文件夾中新建main.js

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

3.修改package.json文件

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?1.刪掉type這個(gè)字段,不然會(huì)報(bào)錯(cuò)

?2.然后加上"main": "electron/main.js",

?3.在scripts字段中加入啟動(dòng)electron的命令:如下圖

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

4.在剛才創(chuàng)建的electronx文件夾下main.js中加入以下代碼

// 控制應(yīng)用生命周期和創(chuàng)建原生瀏覽器窗口的模組
const { app, BrowserWindow, Menu } = require('electron')
const path = require('path')
// process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = true // 關(guān)閉控制臺(tái)的警告

function createWindow() {
  // 創(chuàng)建瀏覽器窗口
  const mainWindow = new BrowserWindow({
    width: 1200,
    height: 800,
    webPreferences: {
      // 書(shū)寫(xiě)渲染進(jìn)程中的配置
      nodeIntegration: true, //開(kāi)啟true這一步很重要,目的是為了vue文件中可以引入node和electron相關(guān)的API
      contextIsolation: false, // 可以使用require方法
      enableRemoteModule: true, // 可以使用remote方法
    },
  })

  // 監(jiān)聽(tīng)html
  mainWindow.loadFile(path.resolve(__dirname, '../dist/index.html'))
}
// 這段程序?qū)?huì)在 Electron 結(jié)束初始化
// 和創(chuàng)建瀏覽器窗口的時(shí)候調(diào)用
// 部分 API 在 ready 事件觸發(fā)后才能使用。
app.whenReady().then(() => {
  createWindow()

  app.on('activate', function () {
    // 通常在 macOS 上,當(dāng)點(diǎn)擊 dock 中的應(yīng)用程序圖標(biāo)時(shí),如果沒(méi)有其他
    // 打開(kāi)的窗口,那么程序會(huì)重新創(chuàng)建一個(gè)窗口。
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

// 除了 macOS 外,當(dāng)所有窗口都被關(guān)閉的時(shí)候退出程序。 因此,通常對(duì)程序和它們?cè)?// 任務(wù)欄上的圖標(biāo)來(lái)說(shuō),應(yīng)當(dāng)保持活躍狀態(tài),直到用戶(hù)使用 Cmd + Q 退出。
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') app.quit()
})

5.這時(shí)候你去打開(kāi)控制臺(tái)輸入輸入npm run start會(huì)得到一片空白,展示如下頁(yè)面

1.因?yàn)楝F(xiàn)在監(jiān)聽(tīng)的是vue打包后的dist文件夾中的index.html

2.我就不教你們?cè)趺创蜷_(kāi)那個(gè)了,沒(méi)必要,我們直接開(kāi)始配置熱更新不香嗎

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?5.配置加載代碼熱更新

1.下載electron-reload模塊

npm i electron-reload

2. 在electron的配置文件中加入下列代碼

  // 配置熱更新 
let env = 'pro'

  if (env == 'pro') {
    const elePath = path.join(__dirname, '../node_modules/electron')
    require('electron-reload')('../', {
      electron: require(elePath),
    })
    // 熱更新監(jiān)聽(tīng)窗口
    mainWindow.loadURL('http://localhost:8888')
    // 打開(kāi)開(kāi)發(fā)工具
    mainWindow.webContents.openDevTools()
  } else {
    // 生產(chǎn)環(huán)境中要加載文件,打包的版本
    // Menu.setApplicationMenu(null)
    // 加載 index.html
    mainWindow.loadFile(path.resolve(__dirname, '../dist/index.html')) // 新增
  }

全部的main.js代碼可直接復(fù)制使用

// 控制應(yīng)用生命周期和創(chuàng)建原生瀏覽器窗口的模組
const { app, BrowserWindow, Menu } = require('electron')
const path = require('path')

function createWindow() {
  // 創(chuàng)建瀏覽器窗口
  const mainWindow = new BrowserWindow({
    width: 1200,
    height: 800,
    webPreferences: {
      // 書(shū)寫(xiě)渲染進(jìn)程中的配置
      nodeIntegration: true, //開(kāi)啟true這一步很重要,目的是為了vue文件中可以引入node和electron相關(guān)的API
      contextIsolation: false, // 可以使用require方法
      enableRemoteModule: true, // 可以使用remote方法
    },
  })

  let env = 'pro'
  // 配置熱更新
  if (env == 'pro') {
    const elePath = path.join(__dirname, '../node_modules/electron')
    require('electron-reload')('../', {
      electron: require(elePath),
    })
    // 熱更新監(jiān)聽(tīng)窗口
    mainWindow.loadURL('http://localhost:8888')
    // 打開(kāi)開(kāi)發(fā)工具
    mainWindow.webContents.openDevTools()
  } else {
    // 生產(chǎn)環(huán)境中要加載文件,打包的版本
    // Menu.setApplicationMenu(null)
    // 加載 index.html
    mainWindow.loadFile(path.resolve(__dirname, '../dist/index.html')) // 新增
  }
}
// 這段程序?qū)?huì)在 Electron 結(jié)束初始化
// 和創(chuàng)建瀏覽器窗口的時(shí)候調(diào)用
// 部分 API 在 ready 事件觸發(fā)后才能使用。
app.whenReady().then(() => {
  createWindow()

  app.on('activate', function () {
    // 通常在 macOS 上,當(dāng)點(diǎn)擊 dock 中的應(yīng)用程序圖標(biāo)時(shí),如果沒(méi)有其他
    // 打開(kāi)的窗口,那么程序會(huì)重新創(chuàng)建一個(gè)窗口。
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

// 除了 macOS 外,當(dāng)所有窗口都被關(guān)閉的時(shí)候退出程序。 因此,通常對(duì)程序和它們?cè)?// 任務(wù)欄上的圖標(biāo)來(lái)說(shuō),應(yīng)當(dāng)保持活躍狀態(tài),直到用戶(hù)使用 Cmd + Q 退出。
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') app.quit()
})

3.其中的env是閥門(mén)方便打包成app,開(kāi)發(fā)中熱更新就使用env=pro就好了

4.因?yàn)楸O(jiān)聽(tīng)的是8888端口,所以我們需要去更改vue的運(yùn)行端口,在vite.config.js中加入以下代碼

export default defineConfig({
  plugins: [vue()],
  server: {
    port: 8888,
    cors: true, // 允許跨域
    hmr: true, // 開(kāi)啟熱更新
  },
})

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-510725.html

5.開(kāi)啟兩個(gè)終端,一個(gè)終端運(yùn)行vue的項(xiàng)目啟動(dòng) 因?yàn)槲业氖悄J(rèn)配置 所以是 npm run dev

另一個(gè)終端運(yùn)行 npm run start,這個(gè)時(shí)候你就發(fā)現(xiàn),代碼可以熱更新了

5.得到如下圖,就證明你的項(xiàng)目成功運(yùn)行了,熱更新也啟動(dòng)了vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?6.打包

1.在上文的main.js配置中,已經(jīng)配置了打包的監(jiān)聽(tīng)的文件

2.我們需要下載打包模塊,我這里使用的是electron-builder 需要全局安裝

 npm i electron-builder -D

3.在vite.config.js中更改根路徑,新增base

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?

4.在package.json中新增打包命令

"electron:build": "vite build & electron-builder build --config electron-builder.json"

5.在src同級(jí)目錄中新建打包配置文件electron-builder.json,在里面加入以下代碼

{
  "productName": "app名字",
  "files": ["./electron/main.js", "./dist"],
  "extraFiles": ["./videos", "./cvideo"], // 保留的文件夾
  "directories": {
    "output": "./buileder"
  }
}

6.記住去把main.js中的env改成非pro 可以是pro2或者其他都可以,不是pro就行

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?7.打開(kāi)終端運(yùn)行命令npm run electron:build

npm run electron:build

等終端運(yùn)行完畢,會(huì)在目錄中生成一個(gè)builder文件夾,app就在里面

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

?到這里打包為exe就完成了,需要注意的是 這里是根據(jù)你自己的電腦配置打包的

這里我沒(méi)有去掉狀態(tài)欄,如果要去掉狀態(tài)欄,在main.js中把這個(gè)注釋解開(kāi)就好

vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程

都看到這里了,寫(xiě)教程不易,如果對(duì)你有幫助,給個(gè)點(diǎn)贊收藏不過(guò)分吧。?

?

到了這里,關(guān)于vite+ vue3(現(xiàn)有項(xiàng)目或者新項(xiàng)目)+electron打包教程,以及electron代碼熱重載頁(yè)面(保姆級(jí)教程),一文帶你走完全過(guò)程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • electron+vue3全家桶+vite項(xiàng)目搭建【25】使用electron-updater自動(dòng)更新應(yīng)用

    electron+vue3全家桶+vite項(xiàng)目搭建【25】使用electron-updater自動(dòng)更新應(yīng)用

    demo項(xiàng)目地址 electron-updater官網(wǎng) 我們不可能每次發(fā)布新的版本都讓用戶(hù)去手動(dòng)下載安裝最新的包,而是應(yīng)用可以自動(dòng)下載新包進(jìn)行覆蓋安裝,electron-updater就可以非常方便的實(shí)現(xiàn)這個(gè)功能 引入依賴(lài) 實(shí)測(cè)用pnpm安裝打包運(yùn)行會(huì)有問(wèn)題,這里還是推薦使用npm管理依賴(lài) 配置electron-bui

    2024年02月14日
    瀏覽(132)
  • 使用vue3+vite+elctron構(gòu)建小項(xiàng)目介紹Electron進(jìn)程間通信

    使用vue3+vite+elctron構(gòu)建小項(xiàng)目介紹Electron進(jìn)程間通信

    進(jìn)程間通信 (IPC) 是在 Electron 中構(gòu)建功能豐富的桌面應(yīng)用程序的關(guān)鍵部分之一。 由于主進(jìn)程和渲染器進(jìn)程在 Electron 的進(jìn)程模型具有不同的職責(zé),因此 IPC 是執(zhí)行許多常見(jiàn)任務(wù)的唯一方法,例如從 UI 調(diào)用原生 API 或從原生菜單觸發(fā) Web 內(nèi)容的更改。 在 Electron 中,進(jìn)程使用 ipcM

    2024年02月06日
    瀏覽(97)
  • electron+vue3全家桶+vite項(xiàng)目搭建【24】設(shè)置應(yīng)用圖標(biāo),打包文件的圖標(biāo)

    electron+vue3全家桶+vite項(xiàng)目搭建【24】設(shè)置應(yīng)用圖標(biāo),打包文件的圖標(biāo)

    demo項(xiàng)目地址 在electron中,我們可以通過(guò)electron-builder的配置文件來(lái)設(shè)置打包后的應(yīng)用圖標(biāo) 因?yàn)閙ac環(huán)境下的圖標(biāo)需要特殊格式,這里我們可以利用electron-icon-builder進(jìn)行配置 1.引入相關(guān)依賴(lài) 加入安裝過(guò)程中卡在了 phantomjs-2.1.1-windows.zip的下載,可以直接去github上下載 這里我也放一

    2024年02月17日
    瀏覽(123)
  • electron+vue3全家桶+vite項(xiàng)目搭建【23】url喚醒應(yīng)用,并傳遞參數(shù)

    electron+vue3全家桶+vite項(xiàng)目搭建【23】url喚醒應(yīng)用,并傳遞參數(shù)

    demo項(xiàng)目地址 很多場(chǎng)景下我們都希望通過(guò)url快速喚醒應(yīng)用,例如百度網(wǎng)盤(pán),在網(wǎng)頁(yè)中喚醒應(yīng)用,并傳遞下載鏈接,在electron中要實(shí)現(xiàn)這樣的效果,就需要針對(duì)不同的平臺(tái)做對(duì)應(yīng)的處理。 1.主進(jìn)程中補(bǔ)充調(diào)整代碼 windows中需要注冊(cè)協(xié)議,指定被喚醒時(shí)如何處理url windows當(dāng)頁(yè)面被喚

    2024年02月16日
    瀏覽(89)
  • electron+vue3全家桶+vite項(xiàng)目搭建【六】集成vue-i18n 國(guó)際化

    electron+vue3全家桶+vite項(xiàng)目搭建【六】集成vue-i18n 國(guó)際化

    已發(fā)現(xiàn) 9.2.2版本的vue-i18n 如果使用cnpm安裝,打包會(huì)報(bào)錯(cuò),使用npm或者pnpm安裝依賴(lài)沒(méi)有問(wèn)題 如果需要多語(yǔ)言支持,那么最好在項(xiàng)目搭建之初我們就集成好國(guó)際化 vue i18n官網(wǎng) demo項(xiàng)目地址 關(guān)于多窗口國(guó)際化不同步更新?tīng)顟B(tài)的問(wèn)題解決方案 1.我們現(xiàn)在src下面創(chuàng)建locals目錄,里面創(chuàng)

    2023年04月12日
    瀏覽(96)
  • electron+vue3全家桶+vite項(xiàng)目搭建【16.1】electron多窗口,pinia狀態(tài)同步,擴(kuò)展store方法,主動(dòng)同步pinia的狀態(tài)【推薦】

    electron+vue3全家桶+vite項(xiàng)目搭建【16.1】electron多窗口,pinia狀態(tài)同步,擴(kuò)展store方法,主動(dòng)同步pinia的狀態(tài)【推薦】

    demo項(xiàng)目地址 我們之前寫(xiě)了一個(gè)自動(dòng)同步pinia狀態(tài)的插件,可以參考如下文章 electron+vue3全家桶+vite項(xiàng)目搭建【16】electron多窗口,pinia狀態(tài)無(wú)法同步更新問(wèn)題解決 這里面有一個(gè)較大的弊端,就是pinia中的store,只要其中的某個(gè)屬性修改,就會(huì)觸發(fā)這個(gè)store的全量更新,當(dāng)我們有一

    2024年02月11日
    瀏覽(137)
  • electron+vue3全家桶+vite項(xiàng)目搭建【13.1】ipc通信的使用,主進(jìn)程與渲染進(jìn)程之間的交互

    electron+vue3全家桶+vite項(xiàng)目搭建【13.1】ipc通信的使用,主進(jìn)程與渲染進(jìn)程之間的交互

    electron項(xiàng)目常常由一個(gè)主進(jìn)程和多個(gè)渲染進(jìn)程構(gòu)成,渲染進(jìn)程之間是隔離的,而所有渲染進(jìn)程都和主進(jìn)程共享資源。 所有的渲染進(jìn)程都是由主進(jìn)程創(chuàng)建的 每個(gè)窗口都對(duì)應(yīng)著一個(gè)渲染進(jìn)程 所有的渲染進(jìn)程共享一個(gè)主進(jìn)程 我們主進(jìn)程與渲染進(jìn)程交互,渲染進(jìn)程與渲染進(jìn)程交互【

    2024年02月10日
    瀏覽(118)
  • Gitlab 新項(xiàng)目搭建

    Gitlab 新項(xiàng)目搭建

    項(xiàng)目名稱(chēng)與本地新建項(xiàng)目名稱(chēng)相同 進(jìn)入本地項(xiàng)目根目錄下,右擊 git bash here打開(kāi)命令窗口; 初始化本地倉(cāng)庫(kù); 提交至?xí)捍鎱^(qū); 提交項(xiàng)目。 建立本地倉(cāng)庫(kù)和遠(yuǎn)端 Gitlab 倉(cāng)庫(kù)關(guān)系; 2.拉取一下遠(yuǎn)程倉(cāng)庫(kù)內(nèi)容; 推送本地內(nèi)容到遠(yuǎn)程倉(cāng)庫(kù)。 出現(xiàn)以下問(wèn)題: 原因就是 Gitlab 的倉(cāng)庫(kù)中

    2024年02月13日
    瀏覽(94)
  • 新項(xiàng)目搞完啦!??!

    新項(xiàng)目搞完啦?。?!

    大家好,我是魚(yú)皮。 經(jīng)過(guò)了 7 場(chǎng)直播,總時(shí)長(zhǎng)近 20 小時(shí),我在 自己的編程導(dǎo)航 的第 5 個(gè) 全程直播開(kāi)發(fā) 的項(xiàng)目 —— 智能 BI 項(xiàng)目,完結(jié)啦! 我在這里對(duì)該項(xiàng)目做一個(gè)簡(jiǎn)單的總結(jié),希望讓更多需要它的同學(xué)看到,把它變成自己的項(xiàng)目~ 這次做的是一個(gè)順應(yīng)潮流的項(xiàng)目, 基于

    2024年02月11日
    瀏覽(94)
  • 筆記 | FastAPI創(chuàng)建新項(xiàng)目

    筆記 | FastAPI創(chuàng)建新項(xiàng)目

    當(dāng)使用FastAPI創(chuàng)建項(xiàng)目時(shí),首先需要安裝FastAPI和其依賴(lài)項(xiàng)??梢允褂胮ip來(lái)安裝它們。請(qǐng)確保已經(jīng)安裝了Python和pip。 創(chuàng)建項(xiàng)目文件夾并進(jìn)入該文件夾: 創(chuàng)建并激活一個(gè)新的Python虛擬環(huán)境(可選,但強(qiáng)烈推薦): 安裝FastAPI和uvicorn(FastAPI的服務(wù)器): 創(chuàng)建一個(gè)名為 main.py 的文件

    2024年02月06日
    瀏覽(99)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包