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

Vue使用electron生成桌面應(yīng)用過(guò)程詳解

 更新時(shí)間:2023年04月17日 08:51:43   作者:不可名狀邵雅虎  
這篇文章主要介紹了Vue使用electron生成桌面應(yīng)用過(guò)程,很想使用 electron 制作一個(gè)桌面應(yīng)用,但是真的上手使用的時(shí)候才發(fā)現(xiàn) electron 的坑實(shí)在是太多了,先將遇到的坑記錄在這里,遇到一個(gè)記錄一個(gè)

學(xué)習(xí)關(guān)鍵語(yǔ)句

使用electron打包vue項(xiàng)目

electron制作桌面應(yīng)用

寫在前面

很想使用 electron 制作一個(gè)桌面應(yīng)用,但是真的上手使用的時(shí)候才發(fā)現(xiàn) electron 的坑實(shí)在是太多了

先將遇到的坑記錄在這里,遇到一個(gè)記錄一個(gè)

  • 使用 9 以上版本的 vue-i18n 的項(xiàng)目打包成應(yīng)用時(shí)會(huì)失敗,本地運(yùn)行沒(méi)問(wèn)題
  • 項(xiàng)目路徑中有中文會(huì)打包失敗

和 electron 相關(guān)的插件版本更替實(shí)在是是太快,并且版本之間還不一定能兼容,所以這篇文章中使用到的插件都會(huì)寫死版本來(lái)保證一定可以打包成功

開(kāi)始

項(xiàng)目開(kāi)始

我們不從零開(kāi)始,直接從之前的項(xiàng)目中拉一個(gè)文件來(lái)作為例子,你可以點(diǎn)擊這里進(jìn)行下載項(xiàng)目,不需要積分

值得一提的是,這篇文章不會(huì)提供完整的文件,你可以使用下載的項(xiàng)目開(kāi)始學(xué)習(xí)

安裝依賴

安裝指定版本 此時(shí)日期為 2023-04-11

npm i electron@24.0.0 -D
npm i vite-plugin-electron@0.11.1 -D
npm i electron-builder@23.6.0 -D
npm i cross-env@7.0.3

針對(duì)項(xiàng)目由 vite 創(chuàng)建的 vue3 項(xiàng)目

修改 vite.config.ts

變動(dòng)語(yǔ)句

vite.config.ts 變動(dòng)

import electron from 'vite-plugin-electron'
electron({
    entry: "dist-electron/index.js"
})

放入語(yǔ)句

vite.config.ts 放入

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: "dist-electron/index.js"
    })
  ],
})

修改完成后,會(huì)自動(dòng)在項(xiàng)目根目錄出現(xiàn) dist-electron 文件夾,文件夾內(nèi)有一個(gè)文件 index.js

如果沒(méi)有自動(dòng)出現(xiàn),那就手動(dòng)創(chuàng)建

修改 index.js

index.js

import { app, BrowserWindow } from 'electron'
import path from 'path'
// app 控制應(yīng)用程序的事件生命周期。
// BrowserWindow 創(chuàng)建并控制瀏覽器窗口。
let win;
// 定義全局變量獲取 窗口實(shí)例
const createWindow = () => {
    win = new BrowserWindow({
        webPreferences: {
            devTools: true,
            contextIsolation: false,
            nodeIntegration: true
            // 允許html頁(yè)面上的javascipt代碼訪問(wèn)nodejs 環(huán)境api代碼的能力(與node集成的意思)
        }
    })
    if (process.env.NODE_ENV != 'development') {
        win.loadFile(path.join(__dirname, "../dist/index.html"));
    } else {
        // vite-plugin-electron@0.11.1版本使用以下
        win.loadURL(`${process.env['VITE_DEV_SERVER_URL']}`)
    }
}
//在Electron完成初始化時(shí)被觸發(fā)
app.whenReady().then(createWindow)

修改 package.json

  • 刪除 “type”: “module”
  • “name” 同級(jí)添加 “main”: “dist-electron/index.js”
  • ,將 script 中的 dev 指令修改為 cross-env NODE_DEV=development vite
  • 將 script 中的 build 指令修改為 vue-tsc --noEmit && vite build && electron-builder

將以下添加到 “name” 同級(jí)

  "build": {
    "appId": "com.electron.desktop",
    "productName": "electron",
    "asar": true,
    "copyright": "Copyright ? 2023 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:8086"
      }
    ],
    "releaseInfo": {
      "releaseNotes": "版本更新的具體內(nèi)容"
    }
  }

本地測(cè)試

npm run dev

會(huì)自動(dòng)打開(kāi)

打包成exe文件

npm run build

輸出在項(xiàng)目根目錄下新建的文件夾 release 中,雙擊 exe 文件進(jìn)行安裝就可以打開(kāi)了

到此這篇關(guān)于Vue使用electron生成桌面應(yīng)用過(guò)程詳解的文章就介紹到這了,更多相關(guān)Vue electron生成桌面應(yīng)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

迁安市| 平乡县| 东乡族自治县| 长汀县| 晋州市| 盱眙县| 邢台市| 泊头市| 象州县| 通山县| 图们市| 贵南县| 瓦房店市| 齐齐哈尔市| 历史| 塔河县| 丹江口市| 安丘市| 微博| 鄂伦春自治旗| 广州市| 曲麻莱县| 新巴尔虎右旗| 铁岭县| 建瓯市| 蛟河市| 罗城| 马公市| 叶城县| 龙川县| 冕宁县| 新竹市| 黄陵县| 巴楚县| 福安市| 页游| 岳西县| 肥东县| 平邑县| 成安县| 三河市|