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

使用electron-builder將項(xiàng)目打包成桌面程序的詳細(xì)教程

 更新時(shí)間:2024年08月09日 09:51:27   作者:派大星的海洋cool  
這篇文章主要介紹了使用electron-builder把web端的項(xiàng)目打包生成桌面程序,并可安裝程序,文中通過(guò)代碼示例和圖文結(jié)合的方式給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下

描述: 

本章是使用electron-builder把web端的項(xiàng)目打包生成桌面程序,并可安裝程序。

首先電腦上需要有node以及git,如果沒(méi)有請(qǐng)先根據(jù)官網(wǎng)下載。并且需要一個(gè)github的賬號(hào),方便后期使用。

node:https://nodejs.org/zh-cn

git:Git

github:GitHub Docs

一、項(xiàng)目準(zhǔn)備

進(jìn)入到準(zhǔn)備好的項(xiàng)目中

二、electron準(zhǔn)備

1、安裝依賴

electron依賴

npm install npm install --save-dev electron

熱更新 / 熱加載

npm install nodemon -D

concurrently一個(gè)命令啟動(dòng)electron程序

npm install  concurrently

2、創(chuàng)建electron.js

在根目錄下創(chuàng)建electron文件夾,

在文件夾里創(chuàng)建一個(gè)electron.js,作為electron的主進(jìn)程

// 結(jié)構(gòu)使用
const { app, BrowserWindow } = require("electron")
//獲取地址
const path = require("node:path")
// 創(chuàng)建桌面程序
const createBrowserWindow = () => {
    // 創(chuàng)建大小
    const ELEwin = new BrowserWindow({
        width: "1000",
        height: 800,
 webPreferences: {
            // 開(kāi)始使用node
            nodeIntegration: true,
            // 不開(kāi)啟上下隔離(如果想使用require就要這個(gè)關(guān)閉)
            contextIsolation: true,
            // 關(guān)閉web安全策略,允許加載本地資源
            webSecurity: false,
            // 可以便用remote方法
            enableRemoteModule: true,
            // ?
            devTools: true,
        }
 
    })
    // 讀取鏈接,url是本地鏈接
    ELEwin.loadURL("http://localhost:3000/")
    // 打開(kāi)調(diào)試窗口
    ELEwin.webContents.openDevTools()
    //關(guān)閉調(diào)試窗口
    // ELEwin.webContents.closeDevTools()
 
}
// 調(diào)用方法
app.whenReady().then(createBrowserWindow)

3、修改package.json

新增main和dev的變化: "main": "./electron/electron.js",

dev:concurrently+熱加載(深度監(jiān)聽(tīng)變化)+electron .

"dev": "concurrently vite \"nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue\"",

4、運(yùn)行項(xiàng)目

在終端里運(yùn)行 npm run dev,開(kāi)啟程序

可以正常運(yùn)行程序,那么接下來(lái)開(kāi)始使用electron-builder進(jìn)行打包程序了。

三、electron-builder打包

1、安裝依賴

npm  i  electron-bilder -D

2、修改package.json文件

在package.json文件夾里添加

 
"electron:build": "electron-builder",
 
 
 
 
"build": {
    "appId": "com.demo.myApp", 
    "productName": "測(cè)試項(xiàng)目", 
    "copyright": "Copyright ? 2024 <your-name>", 
    "mac": {
      "category": "public.app-category.utilities"
    },
    "nsis": {
      "oneClick": false,
      "allowToChangeInstallationDirectory": true,
      "deleteAppDataOnUninstall": true 
    },
    "files": [
      "dist/**/*",
      "electron/**/*"
    ],
    "directories": {
      "buildResources": "assets", 
      "output": "dist_electron" 
    }
  }

3、增加preload.js文件

preload.js是在electron文件夾下進(jìn)行創(chuàng)建

 
// 所有Node.js API都可以在預(yù)加載過(guò)程中使用。
// 它擁有與Chrome擴(kuò)展一樣的沙盒。
window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (selector, text) => {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }
 
  for (const dependency of ['chrome', 'node', 'electron']) {
    replaceText(`${dependency}-version`, process.versions[dependency])
  }
})

4、修改electron.js文件

// 結(jié)構(gòu)使用
const { app, BrowserWindow } = require("electron")
//獲取地址
const path = require("node:path")
// 創(chuàng)建桌面程序
const createBrowserWindow = () => {
    // 創(chuàng)建大小
    const ELEwin = new BrowserWindow({
        width: 1000,
        height: 500,
        webPreferences: {
            // 開(kāi)始使用node
            nodeIntegration: true,
            // 不開(kāi)啟上下隔離(如果想使用require就要這個(gè)關(guān)閉)
            contextIsolation: true,
            // 關(guān)閉web安全策略,允許加載本地資源
            webSecurity: false,
            // 可以便用remote方法
            enableRemoteModule: true,
            // ?
            devTools: true,
            preload: path.join(__dirname, 'preload.js')
        }
    })
    // 讀取鏈接
    // ELEwin.loadURL("http://localhost:3000/")
    // 判斷是否是開(kāi)發(fā)者環(huán)境
    ELEwin.loadURL(
        process.env.NODE_ENV === 'development'
            ? 'http://localhost:3000'
            : `file://${path.join(__dirname, '../dist/index.html')}`)
 
    // 打開(kāi)調(diào)試窗口
    if (process.env.NODE_ENV === 'development') {
        ELEwin.webContents.openDevTools()
    }
 
    //關(guān)閉調(diào)試窗口
    // ELEwin.webContents.closeDevTools()
}
// 調(diào)用方法
app.whenReady().then(createBrowserWindow)

5、修改config.js文件

這是一定要加的

6、打包本地項(xiàng)目生成dist

運(yùn)行 npm run build ,生成dist包

7、electron-builder打包

運(yùn)行 npm run electron:build,結(jié)果發(fā)現(xiàn)報(bào)錯(cuò),這是需要下載一個(gè)包

根據(jù)這個(gè)地址去下載一個(gè)包,放到本地資源:C:\Users\Administrator\AppData\Local\Cache

再次執(zhí)行命令,發(fā)現(xiàn)還是報(bào)錯(cuò)

再下載一個(gè)包,從CNPM Binaries Mirror

放到C:\Users\Administrator\AppData\Local\electron-builder\Cache

并進(jìn)行解壓

再次運(yùn)行命令之后就打包成功了

進(jìn)入dist_electron文件中 

雙擊應(yīng)用程序

四、安裝程序

點(diǎn)擊下一步

選擇存儲(chǔ)文件 ,進(jìn)行安裝,就可以了

以上就是使用electron-builder將項(xiàng)目打包成桌面程序的詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于electron-builder項(xiàng)目打包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

    vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

    這篇文章主要介紹了vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • vue源碼之批量異步更新策略的深入解析

    vue源碼之批量異步更新策略的深入解析

    這篇文章主要給大家介紹了關(guān)于vue源碼之批量異步更新策略的相關(guān)資料,關(guān)于vue異步更新是我們?nèi)粘i_(kāi)發(fā)中經(jīng)常遇到的一個(gè)功能,需要的朋友可以參考下
    2021-05-05
  • Vue-Router進(jìn)階之滾動(dòng)行為詳解

    Vue-Router進(jìn)階之滾動(dòng)行為詳解

    本篇文章主要介紹了Vue-Router進(jìn)階之滾動(dòng)行為詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 在vant 中使用cell組件 定義圖標(biāo)該圖片和位置操作

    在vant 中使用cell組件 定義圖標(biāo)該圖片和位置操作

    這篇文章主要介紹了在vant 中使用cell組件 定義圖標(biāo)該圖片和位置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Vue動(dòng)態(tài)設(shè)置el-table操作列的寬度自適應(yīng)

    Vue動(dòng)態(tài)設(shè)置el-table操作列的寬度自適應(yīng)

    這篇文章主要給大家介紹了關(guān)于Vue如何動(dòng)態(tài)設(shè)置el-table操作列的寬度自適應(yīng),很多頁(yè)面都需要用到表格組件el-table,如果沒(méi)有給el-table-column指定寬度,默認(rèn)情況下會(huì)平均分配給剩余的列,需要的朋友可以參考下
    2023-07-07
  • 關(guān)于Vue開(kāi)發(fā)中v-if和v-show的聯(lián)合使用步驟

    關(guān)于Vue開(kāi)發(fā)中v-if和v-show的聯(lián)合使用步驟

    本文探討了在Vue.js項(xiàng)目中如何有效利用v-if和v-show指令來(lái)實(shí)現(xiàn)多步驟表單導(dǎo)航,確保用戶操作數(shù)據(jù)能在前后步驟間保持不變,通過(guò)具體案例分析了這兩種指令的特點(diǎn)及結(jié)合使用的最佳實(shí)踐,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • 淺談Vue.nextTick 的實(shí)現(xiàn)方法

    淺談Vue.nextTick 的實(shí)現(xiàn)方法

    本篇文章主要介紹了Vue.nextTick 的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作

    vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作

    這篇文章主要介紹了vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue中如何給el-table-column添加指定列的點(diǎn)擊事件

    vue中如何給el-table-column添加指定列的點(diǎn)擊事件

    elementui中提供了點(diǎn)擊行處理事件,下面這篇文章主要給大家介紹了關(guān)于vue中如何給el-table-column添加指定列的點(diǎn)擊事件,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Vue如何使用混合Mixins和插件開(kāi)發(fā)詳解

    Vue如何使用混合Mixins和插件開(kāi)發(fā)詳解

    這篇文章主要介紹了Vue如何使用混合Mixins和插件開(kāi)發(fā)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評(píng)論

黄平县| 陇西县| 长岛县| 长岭县| 祁东县| 边坝县| 怀柔区| 建宁县| 驻马店市| 温宿县| 海盐县| 绵竹市| 新田县| 邵阳县| 沾化县| 甘孜县| 射洪县| 郧西县| 涟水县| 泰宁县| 卓资县| 松滋市| 拜城县| 永兴县| 永安市| 特克斯县| 宾阳县| 获嘉县| 莲花县| 麟游县| 齐河县| 抚宁县| 宜都市| 静宁县| 灌南县| 通海县| 新河县| 延安市| 涞水县| 乐陵市| 旺苍县|