electron+vite+vue 搭建

更新時(shí)間 20210823
注意:electron 很難很難很難 安裝瓦盛,有梯子最好

1、配置yarn

#yarn 配置方法
yarn config set registry https://registry.npm.taobao.org/
yarn config set ELECTRON_BUILDER_BINARIES_MIRROR http://npm.taobao.org/mirrors/electron-builder-binaries/
yarn config set electron_mirror https://cdn.npm.taobao.org/dist/electron/

#文件配置方法
進(jìn)入文件路徑  C:\Users\用戶名\.yarnrc
#文件添加以下內(nèi)容
ELECTRON_BUILDER_BINARIES_MIRROR "http://npm.taobao.org/mirrors/electron-builder-binaries/"
electron_mirror "https://cdn.npm.taobao.org/dist/electron/"
registry "https://registry.npm.taobao.org/"


#npm 配置方法
npm config edit
# 在彈出的ini文件中修改:
ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/
electron_mirror=https://cdn.npm.taobao.org/dist/electron/
registry=https://registry.npm.taobao.org/



***無關(guān)教程---請忽略
1棱貌、查看一下當(dāng)前源
yarn config get registry

2、切換為淘寶源
yarn config set registry https://registry.npm.taobao.org

3箕肃、或者切換為自帶的
yarn config set registry https://registry.yarnpkg.com

2婚脱、建vite+vue

# 創(chuàng)建項(xiàng)目目錄 
electron-vite-vue

# 進(jìn)入項(xiàng)目目錄
cd electron-vite-vue

# 創(chuàng)建項(xiàng)目
yarn create @vitejs/app electron-vite-vue --template vue

# 安裝依賴
yarn

# 運(yùn)行項(xiàng)目
yarn dev

3、引入electron

# 安裝
yarn add --dev electron

# 注意
安裝過程會出現(xiàn)網(wǎng)路問題勺像,解決方法
1障贸、配置第一步內(nèi)容
2、梯子

4吟宦、增加electron需要用到的文件

# 項(xiàng)目根目錄添加
main.js
preload.js
image.png

5篮洁、配置main.js

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

function createWindow() {
    const mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            preload: path.join(__dirname, 'preload.js')
        }
    })

    mainWindow.loadFile('dist/index.html')
}

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

    app.on('activate', function () {
        if (BrowserWindow.getAllWindows().length === 0) createWindow()
    })
})

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

6、配置preload.js

# 按照electron最新的思路督函,vue頁面中不能使用nodejs和electron嘀粱,electron手冊中要求通過preload.js隔離vue頁面和main.js的交互激挪。

# 這是electron手冊中的原文
# This feature is incredibly useful for two main purposes:
# By exposing ipcRenderer(https://www.electronjs.org/docs/latest/api/ipc-renderer/) helpers to the renderer, you can use inter-process communication (IPC) to trigger main process tasks from the renderer (and vice-versa).
# If you're developing an Electron wrapper for an existing web app hosted on a remote URL, you can add custom properties onto the renderer's `window` global that can be used for desktop-only logic on the web client's side.

# 在preload.js中添加
const { contextBridge } = require('electron')
// 在vue頁面中引用window.$electron.titile,獲得 'electron-vite-vue'
contextBridge.exposeInMainWorld('$electron', {
    title: 'electron-vite-vue'
})

# 修改src/app.vue
<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <!--修改--><HelloWorld :msg="message" />
</template>

<script setup>
import HelloWorld from './components/HelloWorld.vue'
// 引用preload.js中定義的常量
const message = window.$electron.title

// This starter template is using Vue 3 experimental <script setup> SFCs
// Check out https://github.com/vuejs/rfcs/blob/script-setup-2/active-rfcs/0000-script-setup.md
</script>

7锋叨、修改vite項(xiàng)目配置文件

# 修改vite.config.js 文件垄分,配置app項(xiàng)目根路徑
base: path.resolve(__dirname, './dist')

# 全文
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const path = require('path')

// https://vitejs.dev/config/
export default defineConfig({
  base: path.resolve(__dirname, './dist'),
  plugins: [vue()]
})

8、修改package.json文件

# electron main 入口配置
"main": "main.js",

# electron 啟動腳本配置
"electron:start": "vite build & electron ."

# 全文
{
  "name": "electron-vite-vue",
  "version": "1.0.0",
  "main": "main.js",
  "license": "MIT",
  "scripts": {
    "electron:start": "vite build & electron ."
  },
  "dependencies": {
    "vue": "^3.0.5"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.3.0",
    "@vue/compiler-sfc": "^3.0.5",
    "electron": "^13.2.1",
    "vite": "^2.4.4"
  }
}

9娃磺、啟動項(xiàng)目

yarn electron:start
npm run electron:start

10薄湿、展示

image.png

11、應(yīng)用打包

# 待更新
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末偷卧,一起剝皮案震驚了整個(gè)濱河市豺瘤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌听诸,老刑警劉巖坐求,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晌梨,居然都是意外死亡桥嗤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門仔蝌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泛领,“玉大人,你說我怎么就攤上這事敛惊≡ㄐ” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵瞧挤,是天一觀的道長锡宋。 經(jīng)常有香客問我,道長皿伺,這世上最難降的妖魔是什么员辩? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮鸵鸥,結(jié)果婚禮上奠滑,老公的妹妹穿的比我還像新娘。我一直安慰自己妒穴,他們只是感情好宋税,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著讼油,像睡著了一般杰赛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矮台,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天乏屯,我揣著相機(jī)與錄音根时,去河邊找鬼。 笑死辰晕,一個(gè)胖子當(dāng)著我的面吹牛蛤迎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播含友,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼替裆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了窘问?” 一聲冷哼從身側(cè)響起辆童,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惠赫,沒想到半個(gè)月后把鉴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡儿咱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年纸镊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片概疆。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖峰搪,靈堂內(nèi)的尸體忽然破棺而出岔冀,到底是詐尸還是另有隱情,我是刑警寧澤概耻,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布使套,位于F島的核電站,受9級特大地震影響鞠柄,放射性物質(zhì)發(fā)生泄漏侦高。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一厌杜、第九天 我趴在偏房一處隱蔽的房頂上張望奉呛。 院中可真熱鬧,春花似錦夯尽、人聲如沸瞧壮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咆槽。三九已至,卻和暖如春圈纺,著一層夾襖步出監(jiān)牢的瞬間秦忿,已是汗流浹背麦射。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灯谣,地道東北人潜秋。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像酬屉,于是被迫代替她去往敵國和親半等。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容