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

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

這篇具有很好參考價值的文章主要介紹了快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、介紹??? ?? ??

Electron是一個使用 JavaScript、HTML 和 CSS 構(gòu)建桌面應(yīng)用程序的框架。 嵌入?Chromium?和?Node.js?到 二進制的 Electron 允許您保持一個 JavaScript 代碼代碼庫并創(chuàng)建 在Windows上運行的跨平臺應(yīng)用 macOS和Linux——不需要本地開發(fā)經(jīng)驗(這段話是來自官網(wǎng))。

二、搭建Vite+Vue3+TypeScript項目??? ?? ??

根據(jù)vite官網(wǎng)文檔

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

yarn create vite

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

項目創(chuàng)建完成后進入demo目錄,執(zhí)行yarn安裝相關(guān)依賴

三、安裝Electron相關(guān)依賴??? ?? ??

如果你自己安裝過Electron的相關(guān)依賴,想必你一定經(jīng)歷過失敗、失敗、失敗。

這里需要借助一個網(wǎng)站檢測服務(wù)器響應(yīng)速度,然后拿到最快響應(yīng)的ip進行本地配置加快我們的域名解析。

通過該工具可以多個地點Ping服務(wù)器以檢測服務(wù)器響應(yīng)速度。檢查github.com。我都選擇國內(nèi)的,看自己想法選擇啊。選擇之前自己在本地ping一下,通了的話就能使用。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

修改 C:\Windows\System32\drivers\etc\hosts

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

20.27.177.113 github.com

如果設(shè)置執(zhí)行yarn出現(xiàn)RequestError: connect ETIMEDOUT ***.***.***.***:443就更改一下electron安裝源

yarn config set electron_mirror https://npmmirror.com/mirrors/electron/

安裝electron依賴??? ?? ?? ??

yarn add -D electron electron-builder

根據(jù)官網(wǎng)提供的文檔,需要創(chuàng)建一個BrowserWindow裝載vite項目,你也可以寫一個html頁面。 這里我們啟動vite項目以后就會產(chǎn)生一個連接,正好把它裝載到 BrowserWindow中。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

因為src下面存放的是我們的vite項目,所以在根目錄下創(chuàng)建一個electron文件夾,避免后續(xù)文件多了以后混淆起來,現(xiàn)在創(chuàng)建這個main.ts就是我們electron的入口文件。名字隨便起,知道是干啥的就行。

項目根目錄下electron文件夾下創(chuàng)建main.ts文件

const { app, BrowserWindow } = require('electron')
let win

/**
 * @Description: electron程序入口
 * @Author: Etc.End
 * @Copyright: TigerSong
 * @CreationDate 2023-05-20 14:39:26
 */
const createWindow = () => {
    win = new BrowserWindow({
        width: 1200,
        height: 800,
        minWidth: 1200,
        minHeight: 800,
        center: true,
        skipTaskbar: false,
        transparent: false,
        webPreferences: {
            contextIsolation: false,
            webSecurity: false,
        }
    })

    win.loadURL(
        'http://localhost:5173/'
    )

    win.webContents.openDevTools()
}

app.whenReady().then(() => {
    createWindow()
})

/**
 * @Description: 限制只能打開一個頁面
 * @CreationDate 2023-05-20 14:35:52
 */
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
    app.quit()
} else {
    app.on('second-instance', (event, commandLine, workingDirectory) => {
        if (win) {
            if (win.isMinimized()) win.restore()
            win.focus()
        }
    })
}

app.on('window-all-closed', function () {
    if(process.platform !== 'darwin') app.quit()
})

接著修改package.json文件

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

配置完成以后分別啟動yarn dev 和 yarn start,出現(xiàn)以下窗口表示搭建成功了。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

四、優(yōu)化??? ?? ??

因為現(xiàn)在需要啟動兩個服務(wù),比較麻煩,可以借助concurrently插件整合。一個命令完成多個應(yīng)用的啟動。同時安裝cross-env插件設(shè)置我們的環(huán)境變量。wait-on進行一個端口啟動監(jiān)聽。

yarn add concurrently wait-on cross-env -D

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

安裝完成以后修改啟動和打包命令?

"scripts": {
  "dev": "concurrently -k \"vite\" \"yarn dev:electron\"",
  "dev:electron": "wait-on tcp:5173 && cross-env NODE_ENV=development electron .",
  "build": "vite build && electron-builder --win --config",
  "build:mac": "vite build && electron-builder --mac --config",
  "build:linux": "vite build && electron-builder --linux --config"
},

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

{
  "name": "demo",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "main": "electron/main.ts",
  "scripts": {
    "dev": "concurrently -k \"vite\" \"yarn dev:electron\"",
    "dev:electron": "wait-on tcp:5173 && cross-env NODE_ENV=development electron .",
    "build": "vite build && electron-builder --win --config",
    "build:mac": "vite build && electron-builder --mac --config",
    "build:linux": "vite build && electron-builder --linux --config"
  },
  "build": {
    "productName": "TigerSong", // 生成的exe文件名
    "copyright": "Copyright @ 2023 TigerSong", //版權(quán)
    "directories": { // 輸出文件夾
      "output": "dist"
    },
    "files": [
      "dist/**/*",
      "electron/**/*"
    ],
    "nsis": {
      "oneClick": false, // 是否一鍵安裝
      "allowElevation": true, // 允許請求提升
      "allowToChangeInstallationDirectory": true, // 安裝時可以修改安裝目錄
      "createDesktopShortcut": false, // 創(chuàng)建桌面圖標
      "createStartMenuShortcut": false // 創(chuàng)建開始菜單圖標
    }
  },
  "dependencies": {
    "vue": "^3.2.47"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.1.0",
    "concurrently": "^8.0.1",
    "cross-env": "^7.0.3",
    "electron": "^24.3.1",
    "electron-builder": "^23.6.0",
    "typescript": "^5.0.2",
    "vite": "^4.3.2",
    "vue-tsc": "^1.4.2",
    "wait-on": "^7.0.1"
  }
}

接著修改我們的electron文件夾下的main.ts文件。

const { app, BrowserWindow } = require('electron')
const path = require('path')
const NODE_ENV = process.env.NODE_ENV
let win

/**
 * @Description: electron程序入口
 * @Author: Etc.End
 * @Copyright: TigerSong
 * @CreationDate 2023-05-20 14:39:26
 */
const createWindow = () => {
    win = new BrowserWindow({
        width: 1200,
        height: 800,
        minWidth: 1200,
        minHeight: 800,
        center: true,
        skipTaskbar: false,
        transparent: false,
        webPreferences: {
            contextIsolation: false,
            webSecurity: false,
        }
    })

    win.loadURL(
        NODE_ENV === 'development' ? 'http://localhost:5173/' : `file://${path.join(__dirname, '../dist/index.html')}`
    )

    if (NODE_ENV === 'development') {
        win.webContents.openDevTools()
    }
}

app.whenReady().then(() => {
    createWindow()
})

/**
 * @Description: 限制只能打開一個頁面
 * @CreationDate 2023-05-20 14:35:52
 */
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
    app.quit()
} else {
    app.on('second-instance', (event, commandLine, workingDirectory) => {
        if (win) {
            if (win.isMinimized()) win.restore()
            win.focus()
        }
    })
}

app.on('window-all-closed', function () {
    if(process.platform !== 'darwin') app.quit()
})

執(zhí)行yarn dev 進行檢測,出現(xiàn)下面的內(nèi)容表示配置成功,基礎(chǔ)腳手架就已經(jīng)搭建完成了。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

接著測試我們的打包是否正常。

修改vite.config.ts

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

export default defineConfig({
  base: './',
  plugins: [vue()],
})

執(zhí)行yarn build,這個第一次可能優(yōu)點慢,看自己的網(wǎng)速如何了。也可能會出現(xiàn)連接失敗,下載失敗的情況,多嘗試幾次。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

像上面一樣就說明我們已經(jīng)打包成功了。打開程序

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

運行起來后出現(xiàn)下圖表示我們的打包已沒有任何問題了。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

dist目錄下還有生成的安裝程序,可以拷貝至其他目錄進行自定義安裝。到此我們的程序已經(jīng)搭建結(jié)束了,接著下一篇開始講解如何使用electron進行爬蟲實現(xiàn)自己音樂播放器。感興趣的小伙伴可以關(guān)注我的Electron專欄,在不斷更新中。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

我是Etc.End。如果文章對你有所幫助,能否幫我點個免費的贊和收藏??。

快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)

??? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??文章來源地址http://www.zghlxwxcb.cn/news/detail-432583.html

到了這里,關(guān)于快速搭建Electron+Vite3+Vue3+TypeScript5腳手架 (無需梯子,快速安裝Electron)的文章就介紹完了。如果您還想了解更多內(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)文章

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

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

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

    2024年02月14日
    瀏覽(132)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(3) - vite配置

    Vite4+Typescript+Vue3+Pinia 從零搭建(3) - vite配置

    項目代碼同步至碼云 weiz-vue3-template 關(guān)于vite的詳細配置可查看 vite官方文檔,本文簡單介紹vite的常用配置。 項目初建后, vite.config.ts 的默認內(nèi)容如下: 比如,修改 App.vue : 根目錄下新建 .env 、 .env.development 、 .env.production 三個文件。 .env 文件內(nèi)新增內(nèi)容: .env.development 文件內(nèi)

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

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

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

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

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

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

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

    electron+vue3全家桶+vite項目搭建【六】集成vue-i18n 國際化

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

    2023年04月12日
    瀏覽(95)
  • Vue3 + Vite2 + TypeScript4搭建企業(yè)級項目框架

    1. 創(chuàng)建項目 使用命令行工具進入到你想要創(chuàng)建項目的目錄,然后執(zhí)行以下命令: 這將會創(chuàng)建一個新的項目文件夾和一個 package.json 文件。 2. 安裝依賴 接下來你需要在項目中安裝 Vue、Vite、TypeScript 和其他需要的依賴。執(zhí)行以下命令: 以上命令會安裝最新的 Vue、Vite 和 TypeSc

    2024年02月08日
    瀏覽(91)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(4) - 代碼規(guī)范

    項目代碼同步至碼云 weiz-vue3-template 要求代碼規(guī)范,主要是為了提高多人協(xié)同和代碼維護效率,結(jié)合到此項目,具體工作就是為項目配置 eslint 和 prettier 。 安裝 EditorConfig for VS Code 插件,根目錄下新建 .editorconfig 文件,增加以下配置 如果是非windows系統(tǒng), end_of_line 設(shè)置為 cr 安

    2024年02月05日
    瀏覽(92)
  • vue3項目創(chuàng)建(vite3+ts+elementui-plus)

    vue3項目創(chuàng)建(vite3+ts+elementui-plus)

    目的:vue3+vite+ts 安裝依賴,安裝vite的工具 Vite下一代的前端工具鏈為開發(fā)提供極速響應(yīng)v4.3 創(chuàng)建工程 –template vue-ts 后面的是配置模板,有很多,也有react,官網(wǎng)有介紹 啟動工程 安裝路由 配置vite-env.d.ts 為了讓ts識別.vue文件 安裝element-plus 注意vue3用的是element-plus別裝錯版本了

    2024年02月16日
    瀏覽(19)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(7) - request封裝

    Vite4+Typescript+Vue3+Pinia 從零搭建(7) - request封裝

    項目代碼同步至碼云 weiz-vue3-template 基于 axios 封裝請求,支持多域名請求地址 utils 目錄下新建 request 文件夾,并新建 index.ts 、 request.ts 和 status.ts 文件。 此時,eslint會報 switch 前面的空格錯誤,需要修改 .eslintrc.cjs 里的 indent ,修改后,錯誤消失。 src 目錄下新建 api 文件夾,

    2024年02月04日
    瀏覽(98)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(2) - ts配置

    項目代碼同步至碼云 weiz-vue3-template 關(guān)于tsconfig的配置字段可查看其他文檔,如 typeScript tsconfig配置詳解 文件修改如下: 修改文件如下: 新建文件夾 types ,用來存放類型定義。比如新建 index.d.ts : 后續(xù)也可以新增其他文件,比如 global.d.ts 存放全局定義, router.d.ts 存放路由定

    2024年02月05日
    瀏覽(101)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包